【发布时间】:2015-05-30 15:24:52
【问题描述】:
我有一个看起来像这样的数据集
birds[,1:3]
Source: local data frame [15 x 3]
year month day
1 2015 5 13
2 2015 5 14
3 2015 5 15
4 2015 5 16
5 2015 5 17
6 2014 5 28
7 2014 5 29
8 2014 5 30
9 2014 5 31
10 2014 6 1
11 2013 5 8
12 2013 5 9
13 2013 5 10
14 2013 5 11
15 2013 5 12
我想做的是将这些列合并为一个“日期”列,所以我想我可以将它们粘贴在一起并将它们传递给 lubridate。
这行得通:
ymd(paste(birds[1,1], birds[1,2], birds[1,3], sep="-"))
[1] "2015-05-13 UTC"
但是当我尝试使用 apply 对每一行执行此操作时,我得到了这个:
apply(birds[,c("year","month","day")], 1,
function(x) ymd(paste(x[1], x[2], x[3], sep="-")))
[1] 1431475200 1431561600 1431648000 1431734400 1431820800 1401235200 1401321600 1401408000 1401494400
[10] 1401580800 1367971200 1368057600 1368144000 1368230400 1368316800
为什么会发生这种情况,我该如何解决?
【问题讨论】: