gpt4 book ai didi

r - 如何使用如果包含相似,然后在 R

转载 作者:行者123 更新时间:2023-12-04 08:47:26 25 4
gpt4 key购买 nike

我有以下数据框,我想标准化 desc 列中的描述。
如果 desc 包含“员工”的一些排列,则输出 desc1 作为就业规模。
如果 desc 包含“Year”的一些排列,则将 desc1 输出为 Year。
我怎样才能在 R 中做到这一点?

desc <- c('Total number of employees','Employees size','Employee','No. of employees','Others','Years','Year','Yr')
value <- c(200,14035,155,663,25626,2018,2019,2020)
emp_data <- data.frame(desc,value)
输出数据帧应如下所示:
desc <- c('Total number of employees','Employees size','Employee','No. of employees','Others','Years','Year','Yr')
value <- c(200,14035,155,663,25626,2018,2019,2020)
desc1 <- c('Employment size','Employment size','Employment size','Employment size','','Year','Year','Year')
emp_data <- data.frame(desc,value,desc1)

最佳答案

使用嵌套 ifelse() .如果这变得无法管理,我建议 data.table::fcase()dplyr::case_when() .

emp_data$desc1 <- 
ifelse(
grepl("employee", emp_data$desc, ignore.case = TRUE),
"Employment size",
ifelse(
grepl("Year|Yr", emp_data$desc, ignore.case = TRUE),
"Year",
""
)
)

# desc value desc1
# 1 Total number of employees 200 Employment size
# 2 Employees size 14035 Employment size
# 3 Employee 155 Employment size
# 4 No. of employees 663 Employment size
# 5 Others 25626
# 6 Years 2018 Year
# 7 Year 2019 Year
# 8 Yr 2020 Year

关于r - 如何使用如果包含相似,然后在 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64243911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com