如何提取部分字符数据到新列

How to extract part of character data to new column

我得到了这个 df

AGE_TXT
3 weeks
1 year
3 years

我用

strsplit(df$AGE_TXT, " ")

要拆分数据,但我在如何使用数据创建新列时遇到问题

我尝试使用 grep("year", df$AGE_TXT),但它只给我 True/False

我想用数据创建新列

0
1
3

3 周 0 次,1 年 1 次,3 年 3 次

您可以使用 ifelse

df$new <- ifelse(grepl('year', df$AGE_TXT), gsub('\D', '', df$AGE_TXT), 0)
df
#  AGE_TXT new
#1 3 weeks  0
#2  1 year  1
#3 3 years  3