11

使用 R,我想将包含在两个不同列中的月 nb(月)和天 nb(天)合并为一列(日期),并以日期格式使用创建的列。

我的数据框如下所示:

St Dep Month Day
A 2 1 1
B 2 1 1
B 2 2 1
A 5 1 1
A 7 1 1
C 2 1 1
C 5 1 1

我想添加一个类似“Jan-01”的列。

4

2 回答 2

11

我在这里假设“日期格式”只是指一个看起来像日期的字符串,而不是 R 中的正确日期类。

data <- data.frame( Month=c(1,5,2), Day=c(1,2,3) )
data$MonthDay <- paste( month.abb[data$Month], data$Day, sep="-" )
data
#   Month Day MonthDay
# 1     1   1    Jan-1
# 2     5   2    May-2
# 3     2   3    Feb-3
于 2013-03-14T13:19:36.650 回答
9

尝试这个...

df <- data.frame( Month = sample(1:12 , 10 , repl = TRUE ) , Day = sample(1:30 , 10 , repl = TRUE ) )
df$Date <- as.Date( paste( df$Month , df$Day , sep = "." )  , format = "%m.%d" )

df
#      Month Day       Date
#   1      1   8 2013-01-08
#   2      1  17 2013-01-17
#   3      7  23 2013-07-23
#   4     11  21 2013-11-21
#   5      3  30 2013-03-30
#   6     12  15 2013-12-15
#   7      2  30       <NA>
#   8      7  10 2013-07-10
#   9      1  16 2013-01-16
#   10     8   1 2013-08-01

我得到了一些 NA,因为我编造了随机日期,其中一些不存在,例如 2 月 30 日

于 2013-03-14T13:16:07.367 回答