【发布时间】:2020-11-08 12:47:16
【问题描述】:
使用 R,我试图找到一种更有效的方法来计算列中的最大值与同一列中的每个值之间的差异。我能够做到这一点,但是代码看起来很庞大(我创建了一个向量,其中每个值都是列的最大值),我希望有人可以演示一种更有效的方法,也许使用 apply 命令?
a<-data.frame("Group Name"=c('Group 1','Group 2', 'Group 3', 'Group 4','Group 5', 'Group 6'),
"app 1"=c(28,28,27,28,29,28),
"app 2"=c(32,31,29,33,35,32),
"app 3"=c(44,43,42,45,46,44),
"app 4"=c(48,48,47,48,49,48),
"app 5"=c(38,36,35,39,41,38),
"app 6"=c(26,26,25,26,27,26))
a$Avg_score=apply(a[,-1],1,mean)
a$max_mean_diff<-c(max(a$Avg_score),max(a$Avg_score),max(a$Avg_score),
max(a$Avg_score),max(a$Avg_score),max(a$Avg_score))-a$Avg_score
View(a)
【问题讨论】:
标签: r dataframe apply calculated-columns difference