如题。
想把数据框中非NA值的ts数值(读取自Excel)转换为日期(如"2013-06-27")。数据如下,单个向量转化没有问题,对数据框转化总是得不到日期变量,数据如下:
dput(dd)
structure(list(播种 = c(NA, "1982-06-11 00:00:00", NA, NA), 出苗 = c(NA,
"1982-06-16 00:00:00", NA, NA)), .Names = c("播种", "出苗"), row.names = 7:10, class = "data.frame")
str(dd)
'data.frame': 4 obs. of 2 variables:
$ 播种: chr NA "1982-06-11 00:00:00" NA NA
$ 出苗: chr NA "1982-06-16 00:00:00" NA NA
#预期结果
as.Date(as.POSIXct("2012-09-18 00:00:00"))
[1] "2012-09-17"
apply(dd,c(1,2),function(x) as.Date(as.POSIXct(x)))
播种 出苗
7 NA NA
8 4543 4548
9 NA NA
10 NA NA
PS:按列来算,可以得到正确结果:
as.Date(as.POSIXlt(dd[,1]))
问题是想知道为什么对数据框无法直接使用函数,用apply后又得不到正确结果??