R函数用任何整数替换一个字符
R function to substitute a character with any integer
我有 2 个带有代表各种工作的数字代码的数据框。
一个 df (df_a
) 有来自人口普查的代码,另一个 (df_b
) 有代表基本工作的代码。
我需要在 df_a 中创建一个新列,其中根据 df_b
.
中的代码将作业列为必需或非必需的
问题是 df_a
中的某些工作代码在 df_b
中具有字符 M = 多个整数(例如 df_a
中的 123M5 = 12335、12345、12355... df_b
中) .我试图通过在 df_a 中设置 M='\d'
来实现这一点,但没有成功……有没有想过更好的方法来解决这个问题?
谢谢!
这可能是您需要的:
df_a <- data.frame(job = c("1233M5", "12345", "1235M5" , "12346"))
df_b <- data.frame(essential = c(12335, 12346))
df_a$essential <- 0
df_a$essential[which(as.numeric(gsub("M", "", df_a$job)) %in% df_b$essential)] <- 1
我有 2 个带有代表各种工作的数字代码的数据框。
一个 df (df_a
) 有来自人口普查的代码,另一个 (df_b
) 有代表基本工作的代码。
我需要在 df_a 中创建一个新列,其中根据 df_b
.
中的代码将作业列为必需或非必需的
问题是 df_a
中的某些工作代码在 df_b
中具有字符 M = 多个整数(例如 df_a
中的 123M5 = 12335、12345、12355... df_b
中) .我试图通过在 df_a 中设置 M='\d'
来实现这一点,但没有成功……有没有想过更好的方法来解决这个问题?
谢谢!
这可能是您需要的:
df_a <- data.frame(job = c("1233M5", "12345", "1235M5" , "12346"))
df_b <- data.frame(essential = c(12335, 12346))
df_a$essential <- 0
df_a$essential[which(as.numeric(gsub("M", "", df_a$job)) %in% df_b$essential)] <- 1