-1
我有一个简单的问题。我有一个data.frame,看起来像这样:有条件的按行平均值
DF
A B C Exclusion_criteria 3 4 5 3 2 1 6 9 2
我只是想意味着列的列A,B和C(按行)当Exclusion_criteria被不同于1(例如,除Exclusion_criteria == 1之外的所有情况)。
任何人都可以帮助我吗?
亲切的问候
我有一个简单的问题。我有一个data.frame,看起来像这样:有条件的按行平均值
DF
A B C Exclusion_criteria 3 4 5 3 2 1 6 9 2
我只是想意味着列的列A,B和C(按行)当Exclusion_criteria被不同于1(例如,除Exclusion_criteria == 1之外的所有情况)。
任何人都可以帮助我吗?
亲切的问候
我们可以遍历所有的行与apply
,除去在由第4列显示的元素,并获得mean
apply(df, 1, function(x) mean(x[1:3][-x[4]], na.rm = TRUE))
#[1] 3.5 NaN 6.0
或者另一种选择是根据行/列索引(从第4列)替换“df”中的值到NA,并执行rowMeans
df[cbind(1:nrow(df), df[,4])] <- NA
rowMeans(df[1:3], na.rm = TRUE)
#[1] 3.5 NaN 6.0
您是否熟悉'rowMeans'?关于按条件过滤 - SO上有数百个帖子。最后,根据这些空白来判断,你的专栏甚至不是数字。我建议你先处理这个部分(首先查明它们是否是因素的特征 - 然后是Google)。 –