如何查找具有最高评分的列

时间:2020-01-21 21:53:30

标签: r

此问题必须在R中完成,而不能在SQL中完成。 我在下面的数据集中遇到问题。

数据字典

UserID –为每部电影提供评级的4848位客户-(行) 电影1到电影206 – 206电影,由4848个不同的用户提供评级(列)

1)我需要查找哪些电影具有最高的观看/评级?

2)定义观众最少的前五部电影

我能够按以下方式获得每部电影(栏)的最高评分。但是在此之后,我该如何以最高评分限制此结果。可以使用哪种过滤器或函数。

我用了这个:

dataset <- read.csv("Amazon - Movies and TV Ratings.csv", row.names = 1)
sapply(dataset,max,na.rm=TRUE)

这给了我一行,每个列的最大值为fr(5、5、2、5、3等)

样本数据集:

                Movie1  Movie2  Movie3  Movie4  Movie5  Movie6


   USer1            5      5      NA     NA     NA     NA
   USer2            NA     NA     2      NA     NA     NA
   USer3            NA     NA     NA      5     NA     NA
   USer4            NA     NA     NA      5     NA     NA
   USer5            NA     NA     NA     NA      5     NA
   USer6            NA     NA     NA     NA      2     NA
   USer7            NA     NA     NA     NA      5     NA
   USer8            NA     NA     NA     NA      2     NA
   USer9            NA     NA     NA     NA      5     NA
   USer10           NA     NA     NA     NA      5     NA

样本数据截图: Amazon rating dataset

1 个答案:

答案 0 :(得分:0)

第一个问题,

data <-cbind(c(1,5,NA,2,3,5,2,3),c(3,NA,4,1,2,1,3,2),c(NA,1,1,3,4,3))
data <- as.data.frame(data)
colnames(data) <- c("Movie1","Movie2","Movie3")
data

apply(data,2,max,na.rm=TRUE)
#Movie1 Movie2 Movie3 
#5      4      4 

对于第二个问题,我相信-您需要指定要说一部电影是顶级电影的标准。例如:您想将影片的收视率与平均收视率进行比较吗?