我管理着一个电影节,每年举办一次“最佳电影”比赛。每年可以有多达50部电影和任何数量的评委。
我计划使用R来分析各个评委的分数,然后在Markdown中发布一份报告,我会分发给他们。
下面是带有示例原始数据的嵌套框架的样子:
Film = c("Vertigo", "Fargo", "Platoon", "Beetlejuice", "Zodiac")
Mean = c( 7.45,6.98,7.5,7.2,5.82)
TrimmedMean = c(7.42, 7.04,7.36,7.05,6.26)
Judge1 = c(5.56,6.00,7.00,6.22,5.33)
Judge2 = c(6.89,8.81,8.83,7.22,6.78)
Judge3 = c(9.25,6.38,6.71,6.88,6.50)
Judge4 = c(8.00,7.67,7.44,6.89,7.22)
Judge5 = c(5.11,4.89,7.11,8.78,6.44)
Judge6 = c(9.89,8.11,7.89,7.22,2.67)
RawData = data.frame(Film,Mean,TrimmedMean,Judge1,Judge2,Judge3,Judge4,Judge5,Judge6)
“平均数”和“修整平均数”栏可视为本练习的额外“判断”。
我想根据每个评委的评分对电影进行排名,然后删除数值,留下一个排序后的电影列表,如下所示:
Mean = c('Platoon','Vertigo','Beetlejuice','Fargo','Zodiac')
TrimmedMean = c('Vertigo','Platoon','Beetlejuice','Fargo','Zodiac')
Judge1 = c('Platoon','Beetlejuice','Fargo','Vertigo','Zodiac')
Judge2 = c('Platoon','Fargo','Beetlejuice','Vertigo','Zodiac')
Judge3 = c('Vertigo','Beetlejuice','Platoon','Zodiac','Fargo')
Judge4 = c('Vertigo','Fargo','Platoon','Zodiac','Beetlejuice')
Judge5 = c('Beetlejuice','Platoon','Zodiac','Vertigo','Fargo')
Judge6 = c('Vertigo','Fargo','Platoon','Beetlejuice','Zodiac')
SortedData = data.frame(Mean,TrimmedMean,Judge1,Judge2,Judge3,Judge4,Judge5,Judge6)
我生成第一个表的主数据集有5年前的数据,我可以按年份划分子集。我希望能够分析来自不同年份的数据,而不必对每一年的代码进行更改,而只需指定要子集的年份。该守则应响应不同年份的数据集,这些数据集将有不同数量的法官和电影。
有什么想法吗?
下面是我分析的R code和CSV file。为了隐私,我把法官的名字改成了法官1,法官2等。
1条答案
按热度按时间py49o6xq1#
我想你要找的函数是
order()
。它显示了向量中值的相对顺序。我们可以使用这个顺序,为每个法官,查找
Film
列中的名字。同样的,但有点更优雅(我认为)和更快
使用链接的数据