暢銷書數量分析

場景

    • 書店某季採購暢銷書紀錄如附件檔。

問題

    • 求算不同暢銷書數量分佈(Frequency Distribution)

    • 求算不同暢銷書百分比分佈(Percentage Frequency Distribution)

GNU R

source("Statistics.R") ######################################################## # 4 # 已知 myData <- scan(file="Descriptive-Statistics-6.dat", what=character(0), sep="\n", multi.line=TRUE) myBooks <- sort(unique(myData)) # 求算 myTotalCount <- length(myData) myDataStat <- c(1:length(myBooks)) names(myDataStat) <- myBooks for (myBookInStore in myData) { for (myBookNum in c(1:length(myBooks))) { if (myBookInStore == myBooks[myBookNum]) { myDataStat[myBookNum] <- myDataStat[myBookNum] + 1 break } } } print(myDataStat) print(summary(myDataStat)) myDataFrame <- data.frame(myBooks, myDataStat, row.names=NULL) names(myDataFrame)[1] <- "暢銷書" names(myDataFrame)[2] <- "書本數" print(myDataFrame) myFrequency <- myDataStat / myTotalCount myDataFrame <- data.frame(myBooks, myFrequency, row.names=NULL) names(myDataFrame)[1] <- "暢銷書" names(myDataFrame)[2] <- "書本數相對頻率" print(myDataFrame) myPercentageFrequency <- 100 * myFrequency myDataFrame <- data.frame(myBooks, myPercentageFrequency, row.names=NULL) names(myDataFrame)[1] <- "暢銷書" names(myDataFrame)[2] <- "書本數頻率 %" print(myDataFrame) par(mfrow=c(3,2)) pie(myDataStat, main="暢銷書書本數餅圖", labels=names(myDataStat)) dotchart(myDataStat, main="暢銷書書本數點圖", xlab="書本數") barplot(myDataStat, main="暢銷書書本數長條圖", xlab="暢銷書", ylab="書本數", names.arg=myBooks) hist(myDataStat, main="暢銷書書本數直方圖", xlab="暢銷書", ylab="書本數", nclass=5) boxplot(myDataStat, main="暢銷書書本數盒狀圖", horizontal=TRUE)

解答

7 Habits Dad Dummies Millionaire 11 15 5 20 Motley Parachute Tax Guide WSJ Guide 14 7 10 14 Min. 1st Qu. Median Mean 3rd Qu. Max. 5.00 9.25 12.50 12.00 14.25 20.00 暢銷書 書本數 1 7 Habits 11 2 Dad 15 3 Dummies 5 4 Millionaire 20 5 Motley 14 6 Parachute 7 7 Tax Guide 10 8 WSJ Guide 14 暢銷書 書本數相對頻率 1 7 Habits 0.18333333 2 Dad 0.25000000 3 Dummies 0.08333333 4 Millionaire 0.33333333 5 Motley 0.23333333 6 Parachute 0.11666667 7 Tax Guide 0.16666667 8 WSJ Guide 0.23333333 暢銷書 書本數頻率 % 1 7 Habits 18.333333 2 Dad 25.000000 3 Dummies 8.333333 4 Millionaire 33.333333 5 Motley 23.333333 6 Parachute 11.666667 7 Tax Guide 16.666667 8 WSJ Guide 23.333333

1