将月份和日期合并到一个日期列中
使用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
我想的东西,如“一月-01”添加一列。
尝试......
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
我得到了一些来港,因为我做了随机日期,其中一些不存在的,如2月30日
我这里假设通过“日期格式”你只是意味着一个字符串,它看起来像一个日期,而不是一个合适的日期类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
+1更好的解决方案(假设他不想要日期!) – 2013-03-14 13:26:11
@ SimonO101,OP说他想在帖子底部显示“Jan-01”之类的东西:)。 – Arun 2013-03-14 13:29:39
@Arun我知道,这就是为什么我说这是一个更好的解决方案:-)但有时候人们并不总是完全解释他们想要的东西。 – 2013-03-14 13:32:33
OK,就是它!我不希望有一年(我感兴趣的变量是30年的平均值),但我可能会找到一种方法,不要在我的斧头(我使用ggplot2)中计划一年。 – user2165907 2013-03-14 13:27:16
我建议你看一下@ndoogan的解决方案,并接受它,而不是*完全*你想要的。 – 2013-03-14 13:33:33