我有一个简单的问题。我有一个看起来像这样的data.frame:
df
A B C Exclusion_criteria 3 4 5 3 2 1 6 9 2
当Exclusion_criteria不同于1时,我只想表示列A,B和C(行方式)的行(例如,除了Exclusion_criteria == 1之外的所有情况)。
有人能帮帮我吗?
亲切的问候
答案 0 :(得分: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