簡體   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