簡體   English   中英

基於多個條件的rowMean

[英]rowMean based on multiple conditions

如果要滿足以下條件,我想跨兩列計算rowMean。 如果沒有返回NA。

這就是我在Excel中編寫它的方式。 誰能建議我該怎么做?

=IF(OR(AND(V1>=3,V2>=0),AND(V1>=2,V2>=1),AND(V1>=1,V2>=2)),(V3+V4)/(V5+V6),NA)

我已經在R中編寫了基本的If語句,但是除了如上所述編寫它之外,無法對其進行可視化。

如果a是您的data.frame,並且您想使用循環:

for(i in 1:nrow(a)){
a$results[i] <- ifelse( (a[i,1]>=3 & a[i,2]>=0) | (a[i,1] >=2 & a[i,2] >= 1) | ..., mean(a[i,1],a[i,2]), NA) # & is the AND | is the OR 
}

更好的方法是為作業定義一個函數,然后使用apply遍歷data.frame。

f <- function(x){
ifelse((x[1]>=3 & x[2]>=0) | (x[1] >=2 & x[2] >= 1) | ..., mean(x[1],x[2]), NA)
}

a$results <- apply(a,1,f)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM