此问题必须在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
答案 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
对于第二个问题,我相信-您需要指定要说一部电影是顶级电影的标准。例如:您想将影片的收视率与平均收视率进行比较吗?