【发布时间】:2014-10-25 00:41:41
【问题描述】:
我想根据数据框的不同列中是否存在字符串来创建一个新列。
name
Jon
Anne
Jobraith
Knut
变成:
name dummy
Jon 1
Anne 0
Jobraith 1
Knut 0
寻找类似的东西:
df$dummy <- ifelse('jo' in df$name, 1, 0)
【问题讨论】:
我想根据数据框的不同列中是否存在字符串来创建一个新列。
name
Jon
Anne
Jobraith
Knut
变成:
name dummy
Jon 1
Anne 0
Jobraith 1
Knut 0
寻找类似的东西:
df$dummy <- ifelse('jo' in df$name, 1, 0)
【问题讨论】:
您可以使用grepl( ... ) 来检查子字符串...
df <- data.frame(name = c('Jon', 'Anne', 'Jobraith', 'Knut'))
df$dummy <- as.numeric(grepl('jo', df$name, ignore.case=T))
df
# name dummy
# 1 Jon 1
# 2 Anne 0
# 3 Jobraith 1
# 4 Knut 0
【讨论】:
ifelse?为什么不只是as.numeric?