【发布时间】:2018-03-01 17:46:30
【问题描述】:
我有一个数据集,其中月份为 1,2,3,..12 所以我想把它们转换成 1-January, 2-February ,3-March 这样的词,所以请帮帮我。
【问题讨论】:
-
查看
month.abb和month.name
标签: r
我有一个数据集,其中月份为 1,2,3,..12 所以我想把它们转换成 1-January, 2-February ,3-March 这样的词,所以请帮帮我。
【问题讨论】:
month.abb和month.name
标签: r
> data <- c(12, 1, 4, 3, 4, 9, 10)
> month.name[data]
[1] "December" "January" "April" "March" "April" "September" "October"
不清楚你是否想要结果中的月份数,但如果你想要,你可以使用paste:
> paste(data, month.name[data], sep = '-')
[1] "12-December" "1-January" "4-April" "3-March" "4-April" "9-September" "10-October"
【讨论】:
首先是一些可重复的数据(总是有用的)
dat <- data.frame("X1" = sample(1:12, 20, replace = T))
然后我会创建一个函数来执行您的要求(粘贴数字和名称):
conv <- function(df, x){
paste0(as.numeric(df[,x]), "-", month.name[as.numeric(df[,x])])
}
然后执行成功:
dat$X2 <- conv(dat, "X1")
还有输出
> dat
X1 X2
1 12 12-December
2 7 7-July
3 9 9-September
4 1 1-January
5 12 12-December
6 5 5-May
7 3 3-March
8 4 4-April
9 12 12-December
10 8 8-August
11 11 11-November
12 9 9-September
13 1 1-January
14 9 9-September
15 6 6-June
16 9 9-September
17 4 4-April
18 9 9-September
19 10 10-October
20 3 3-March
【讨论】: