基于条件ranting创建排名分布

基于条件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。

我想请你帮个忙,我需要计算一下那些喜欢电影《宝贝》的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。不是你想要的

我创建了一些虚假数据,如下所示:

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}。