繁体   English   中英

连接两个数字列以创建Year-month变量

[英]Join two numeric columns to create a Year-month variable

我有两个数字列。 一个包含一年,一个包含一个月的数字。 我想将这两部分合并,并创建一个具有正确日期类型的Year-month列。 为了提供背景,我不能将其保留为字符类型的原因是我在绘制这些点。 如果是char,它们排序不正确。 例如,代替

2015 1
2015 2
...
2015 12

我们会看到排序顺序为

2015 1
2015 10
2015 11
2015 12
...

因此,如果某种字符破解与转换为日期类型的工作原理相同,那么也将起作用。

很抱歉这个相对简单的问题。 我对R没问题,但是在格式方面很挣扎。

用于重新创建的示例代码

month<-as.character(seq(1,12,1))
year<-'2015'

df<-data.frame(paste(year,month))

为了成为正确的日期类型,您需要一个月,日和年。 我通常每天都会在其中输入“ 1”,因为每个月都有第一天...

df <- data.frame(year=c("2015", "2015", "2014"),
                 month=c("4", "2", "9"),
                 stringsAsFactors=FALSE)
df$date <- as.Date(paste(df$month, "01", df$year, sep="_"), format="%m_%d_%Y")
df <- df[order(df$date), ]

您可以考虑在Zoo软件包中使用yearmon类:

library(zoo) zoo::as.yearmon(paste(year, month, sep='-'))

只需在粘贴中添加01并使用as.Date

as.Date(paste(year, month, '01', sep= '-'))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM