小编Tob*_*ias的帖子

melt.data.frame()更改POSIXct列的打印方式

将数据帧融合到整个范围会更改"时间"(类POSIXct)列的打印方式.

t.wide <- data.frame(product=letters[1:5], 
                     result=c(2, 4, 0, 0, 1), 
                     t1=as.POSIXct("2014-05-26") + seq(0, 10800, length.out=5),
                     t2=as.POSIXct("2014-05-27") + seq(0, 10800, length.out=5),
                     t3=as.POSIXct("2014-05-28") + seq(0, 10800, length.out=5))

library(reshape2)     
t.long <- melt(t.wide, measure.vars=c("t1", "t2", "t3"), value.name="time")
t.long$time
 [1] 1401055200 1401057900 1401060600 1401063300 1401066000 1401141600 1401144300
 [8] 1401147000 1401149700 1401152400 1401228000 1401230700 1401233400 1401236100
[15] 1401238800
attr(,"class")
[1] "POSIXct" "POSIXt" 
Run Code Online (Sandbox Code Playgroud)

奇怪的是,如果print()显式调用,则按预期打印对象(时间戳,而不是它们的数字表示).

print(t.long$time)
 [1] "2014-05-26 00:00:00 CEST" "2014-05-26 00:45:00 CEST" "2014-05-26 01:30:00 CEST"
 [4] "2014-05-26 02:15:00 CEST" "2014-05-26 03:00:00 CEST" "2014-05-27 00:00:00 CEST"
 [7] …
Run Code Online (Sandbox Code Playgroud)

r posixct reshape2

7
推荐指数
1
解决办法
627
查看次数

标签 统计

posixct ×1

r ×1

reshape2 ×1