如何使用sapply?我的数据框中有400k记录。需要在不使用for循环的情况下将数据填充到b $ a1。
b <- a
b[1:100,]
for (i in 1:nrow(b)) {
if (b`$`x[i] > mean(b`$`x) &
b`$`y[i] > mean(b`$`y) &
b`$`z[i] < mean(b`$`z))
{
b`$`a1[i] = '1'
}
else {
b`$`a1[i] = '0'
}
}
head(b)
答案 0 :(得分:2)
我认为你可以在这里使用ifelse()
:
b$a1 <- ifelse(b$x > mean(b$x) & b$y > mean(b$y) & b$z > mean(b$z), 1, 0)
Akrun的更新:
b$a1 <- as.integer(b$x > mean(b$x) & b$y > mean(b$y) & b$z > mean(b$z))