如何建立循环以查找有关数据帧中列的某些值的模式

时间:2018-10-17 16:04:44

标签: r loops for-loop dataframe

我正在尝试学习如何在R Studio中编写循环。希望任何人都可以帮助我解决这个问题...

给出以下数据集,如何编写循环以找出this data set中每种电影类型的最受欢迎导演(模式)?

谢谢

2 个答案:

答案 0 :(得分:1)

f=read.csv("~/Downloads/moviegenres.csv")

table_f=as.matrix(table(f))
for (i in 1:4){ #Since there are four unique movie genres,for each of them 
    #search maximum count(find popular director) then paste name and the max number
    print(paste(names(table_f[i,][table_f[i,]==max(table_f[i,])]),max((table_f[i,])))) 
}

希望这会有所帮助。

答案 1 :(得分:0)

您实际上不需要循环来计数。这是按频率表进行计数的方法。

library(dplyr)
df %>% table
# rearrange to show mode
df %>% table %>% as_tibble() %>% arrange(desc(n))

或者在基数R中,您可以使用

tb=as.data.frame(table(df$Genres, df$Directors))
head(tb[order(tb$Freq, decreasing = T),])