0

我有一个包含啤酒名称及其评论的广泛数据框,每种啤酒都有多次重复,有人对我如何将它们组合以将每个评论集减少到一个啤酒名称列表及其总体评论的平均值有任何建议吗

IE

   {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 ^^^^

4

1 回答 1

0
ddply(best_beer, .(beername), summarise,
    mean_ratings = mean(reviewoverall))

应该工作。

于 2013-08-21T22:09:36.837 回答