基于条件ranting创建排名分布
我想请你帮个忙,我需要计算一下那些喜欢电影《宝贝》的4星或5星的人对电影的评价,然后提供他们最喜欢的前5部电影 我失败的尝试是这样的 如果这是为了找到我们第一次喜欢Babe的用户,那么这只是问题的一部分,但不起作用基于条件ranting创建排名分布,r,R,我想请你帮个忙,我需要计算一下那些喜欢电影《宝贝》的4星或5星的人对电影的评价,然后提供他们最喜欢的前5部电影 我失败的尝试是这样的 如果这是为了找到我们第一次喜欢Babe的用户,那么这只是问题的一部分,但不起作用 for(i in 1:length(datababe)){ if(datababe[i] >= 4){ print(datababe$User[i]) } } 请帮帮我 您的函数一次应用于一个评级,因此评级>=4的总和始终为1或0。结果将为0.25或0.20。
for(i in 1:length(datababe)){
if(datababe[i] >= 4){
print(datababe$User[i])
}
}
请帮帮我
您的函数一次应用于一个评级,因此评级>=4的总和始终为1或0。结果将为0.25或0.20。不是你想要的 我创建了一些虚假数据,如下所示:
data <- data.frame(users=sample(LETTERS, 50, replace=T),
movie=sample(letters, 50, replace=T),
rating=sample(1:5, 50, replace=T),stringsAsFactors=F)
x<-data %>%
filter(rating>=4) %>% # ratings you want
group_by(rating) %>% # grouped by the rating
summarize(pct.4_5=n()/sum(data$rating)*100) # calculation; n() does counting
生成的TIBLE将如下所示:
# A tibble: 2 x 2
rating pct.4_5
<int> <dbl>
1 4 5.19
2 5 8.44
你能提供一个可复制的例子吗?数据的结构与它的用户在第一列中的方式相同,在其他列中,电影的名称和每个用户对每部电影的排名从1到5如果你不提供一个什么的例子,很难帮助?有条件的咆哮?这应该是排名吗?我不确定,因此我没有亲自编辑这个问题。谢谢Edward,问题是这只会给你一部电影的结果=评级,我需要所有电影的结果[专栏]现在你已经添加了一个数据结构,这是有效的:applydata,2,functionx{sumx>=4,na.rm=t/sumx>0,na.rm=t*100}。