适用于动态值

时间:2018-04-03 16:31:28

标签: r apply

如何计算R中数据框中高于平均值的所有值?我的意思是,每列的值不同,因为每列的平均值不同。谢谢!

示例:

a<-c(1,2,3)
b<-c(4,5,6)
c<-c(7,8,9)
df<-data.frame(a,b,c)

(我如何得到公式来计算每列的值,高于平均值。关于上面的例子,平均值是2,5和8,所以假设每列的值不同。)

我想知道公式,以获得多少观察值高于平均值。但是上述示例的3列中的每一列的平均值都不同。

2 个答案:

答案 0 :(得分:0)

考虑你的矩阵是mat,那么这可能是有用的

Means <- colMeans(mat)
sapply(seq_len(ncol(mat)), function(i) sum(mat[,i]>Means[i]))

答案 1 :(得分:0)

library(tidyverse)
data.df%>%summarize_all(function(x){sum(x>mean(x))})