-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)。 –