【发布时间】:2013-03-16 12:17:32
【问题描述】:
我正在尝试使用 chron 类熔化数据帧
library(chron)
x = data.frame(Index = as.chron(c(15657.00,15657.17)), Var1 = c(1,2), Var2 = c(9,8))
x
Index Var1 Var2
1 (11/13/12 00:00:00) 1 9
2 (11/13/12 04:04:48) 2 8
y = melt(x,id.vars="Index")
Error in data.frame(ids, variable, value, stringsAsFactors = FALSE) :
arguments imply differing number of rows: 2, 4
我可以用as.numeric() 欺骗如下:
x$Index= as.numeric(x$Index)
y = melt(x,id.vars="Index")
y$Index = as.chron(y$Index)
y
Index variable value
1 (11/13/12 00:00:00) Var1 1
2 (11/13/12 04:04:48) Var1 2
3 (11/13/12 00:00:00) Var2 9
4 (11/13/12 04:04:48) Var2 8
但它可以更简单吗? (我想保留 chron 类)
【问题讨论】:
-
为什么不简单地创建没有
as.chron的data.frame 然后执行:transform(melt(x, "Index"), Index = as.chron(Index))? -
我在尝试重建您的 data.frame 时收到
Error in strptime(x, format, tz = tz) : invalid 'x' argument。 -
@Ista,我已经修复了输入数据中的错误。再试一次。
-
您的解决方案有什么问题? Maube 我想念一些东西,但你在最终结果中保留了 chron 类。
-
问题是我想减少计算量
标签: r reshape reshape2 melt chron