【发布时间】:2017-12-05 05:54:45
【问题描述】:
我有一个带有字符串值的数据框
id str
a 1
b 10
c 0
d 102
e 010
我需要创建一个标志,如果 str 中有 0,则标志为 1,否则,标志为 0
我正在使用以下代码:
df$flag <-ifelse(grep('0', df$str) == "1", 1, 0)
但这返回的行数少于 df 中的总行数。
检查后发现
grep('0', df$str[1]) returns int(0)
而 grep('0', df$str[2]) 返回 1
知道如何使用它
【问题讨论】:
-
as.numeric(grepl("0", df$str))