我在R中有一个数据集,其中包含0-1个月,8-9个月等的列。我想将此列编码为具有月数的数字变量。例如,而不是8-9个月,只放9。 感谢您的帮助和评论。
答案 0 :(得分:4)
一举一动
a <- c("0-1 month", "8-9 months")
as.integer(gsub("^[[:digit:]]+-([[:digit:]]+) month[s]*", "\\1", a))
答案 1 :(得分:2)
使用recode
包中的car
函数。它不像gsub
解决方案那样简洁,但它更灵活,可能更容易阅读:
library(car)
a <- c("0-1 month", "8-9 months")
recode(a, '"0-1 month" = 1; "8-9 months" = 2')