在一栏中,我列出了两个组ID。 ID号后跟_01表示组1中的成员。ID号后跟_02表示组2中的成员。
我想创建一个新列,其中对应ID_01的数字填充为0,对应ID_02的数字填充为1。
谢谢。
答案 0 :(得分:2)
说这是您的数据:
df <- data.frame(ID=c("A_01", "A_02", "B_01", "B_02"),
stringsAsFactors = F)
df
# ID
#1 A_01
#2 A_02
#3 B_01
#4 B_02
您可以像这样派生新列:
df$NewCol <- ifelse(grepl("_01", df$ID), 0, 1)
df
# ID NewCol
#1 A_01 0
#2 A_02 1
#3 B_01 0
#4 B_02 1
grepl
将在df$ID
的每一行中搜索模式,如果找到该模式,则将放置0,否则将放置1。