根据子标识号创建新列

时间:2019-02-04 21:37:07

标签: r

在一栏中,我列出了两个组ID。 ID号后跟_01表示组1中的成员。ID号后跟_02表示组2中的成员。

我想创建一个新列,其中对应ID_01的数字填充为0,对应ID_02的数字填充为1。

谢谢。

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。