3
可以mutate
根據跨變量應用的邏輯條件創建新變量嗎?
更具體地說,請考慮以下數據。在多個變量的邏輯條件下使用mutate創建新變量 - mutate?
set.seed(1234)
val <- c(rep(0, 20), 1)
a <- sample(val, 50, replace=T)
b <- sample(val, 50, replace=T)
c <- sample(val, 50, replace=T)
d <- sample(val, 50, replace=T)
dat <- data.frame(a,b,c,d)
下面是一些僞代碼,使程序在我想這樣做,但本質上刪除所有邏輯比較(因爲我有很多做)什麼。顯然這不是功能性代碼。
new.dat <- mutate(dat, anyABCD == ifelse(A or B or C or D == 1, 1, 0))
是否有一個更有效的過程來處理此任務以避免很長的ifelse條件集?我發現了一個類似的問題here,但我想申請一個單一的邏輯比較而不是寫每一個。我無法弄清楚如何使用data.table
來完成後續代碼的工作。任何幫助將不勝感激!
完美。額外的例子也特別有用。在這種情況下,mutate並不是最佳解決方案! – 2014-11-21 13:54:15