我有一个广泛的数据框,包括啤酒的名称和他们的评论,每个啤酒有几个重复,任何人都有任何建议,如何我可以将它们结合起来,将每个评论集减少到一个啤酒名称列表和平均值其整体评论
即
{original table}
beername overallreview
Blue moon 4
Blue moon 4
Blue moon 3
Blue moon 1
Blue moon 5
Blue moon 3
{operation results in}
beername overallreview
Blue moon 3.333
这是我到目前为止所尝试的内容
library(plyr)
library(sqldf)
# Load Packages plyr & sqldf
beerdata <- read.csv(file.choose())
#Select data from csv file
summary(beerdata)
#Summary of data
best_beer <- beerdata[,c("reviewoverall","beername")]
refined_best <- ddply(best_beer, .(beername), function(x) {
if(nrow(x) > 1)
return(data.frame("beername" = unique(x$beername), "mean_ratings" = mean(x$reviewoverall)))
})
因此,这段代码只会崩溃r ^^^^
答案 0 :(得分:0)
ddply(best_beer, .(beername), summarise,
mean_ratings = mean(reviewoverall))
应该工作。