1

我在 R 中有一个数据集,其中有一列包含 0-1 个月、8-9 个月等。我想将此列编码为带有月数的数字变量。例如,而不是 8-9 个月,只放 9。感谢您的帮助和评论。

4

2 回答 2

4

一口气

a <- c("0-1 month", "8-9 months")
as.integer(gsub("^[[:digit:]]+-([[:digit:]]+) month[s]*", "\\1", a))
于 2012-08-21T22:50:58.410 回答
2

使用包中的recode功能car。它不如gsub解决方案简洁,但更灵活,可能更容易阅读:

library(car)
a <- c("0-1 month", "8-9 months")
recode(a, '"0-1 month" = 1; "8-9 months" = 2')
于 2012-08-21T23:41:09.363 回答