基于子识别号码创建新列

问题描述 投票:-1回答:1

在一个专栏中,我有两个组ID列。的ID号码,然后_01指示小组成员1的ID号码,然后_02指示部件在第2组。

我想创建一个新列,将与0的填充为相应id_01号码和1层的填充为相应id_02号码。

谢谢。

r
1个回答
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。

© www.soinside.com 2019 - 2024. All rights reserved.