R的新手,请耐心等待。我有一个值为
的数据框x y
1 2
4 4
5 3
6 0
我想创建第三列,用TRUE或FALSE表示y列中的值是否为0。
x y z
1 2 TRUE
0 4 TRUE
5 3 TRUE
6 0 FALSE
答案 0 :(得分:6)
>
比较lhs和rhs以获得逻辑向量。通过将输出指定为新列('z'),我们在原始数据集'df1'中创建新列。
df1$z <- df1$y > 0
答案 1 :(得分:1)
您也可以使用&#34;空&#34;创建一个列。值以避免if-else循环。
这样的事情也可以起作用(尽管上面提出的解决方案当然更好):
df$z <- "False"
df$z[df$y > 0] <- "True"
如果您希望使用逻辑变量而不是字符串
,则可以转义引号答案 2 :(得分:0)
更快的替代解决方案(尽管这只是在处理大型数据集时成为一个关键问题)
library(data.table)
setDT(df1)
df1[, z := y > 0]