3

我想融化,dataframe以便在一列中我有日期,然后我有用户名作为变量,最后是值。

我收到此错误:

as.Date.numeric(value) 中的错误:必须提供“原点”

虽然我理解错误,但我不确定如何解决它。

数据的一个小样本是:

structure(list(created_at = structure(c(14007, 14008, 14009, 
14010, 14011, 14012), class = "Date"), benjamin = c(16, 0, 0, 
0, 0, 0), byron = c(0, 0, 0, 0, 0, 0), cameronc = c(0, 0, 0, 
0, 0, 0), daniel = c(0, 0, 0, 0, 0, 0), djdiaz = c(0, 0, 0, 0, 
0, 0), gene = c(16, 77, 64, 38, 72, 36), joel = c(0, 0, 0, 0, 
0, 2), kerem = c(0, 0, 0, 0, 0, 0), sophia = c(0, 0, 0, 0, 0, 
0), SuperMoonMan = c(0, 0, 0, 0, 0, 0)), .Names = c("created_at", 
"benjamin", "byron", "cameronc", "daniel", "djdiaz", "gene", 
"joel", "kerem", "sophia", "SuperMoonMan"), row.names = c(NA, 
6L), class = c("cast_df", "data.frame"))

谢谢你的帮助。

4

2 回答 2

6

尝试将created_at变量转换为字符向量。melt似乎也不喜欢该cast_df课程,但我通过将课程重置为data.frame. 像这样:

df <- as.data.frame(df)
df$created_at <- as.character(df$created_at)
library(reshape)
melt(df)
于 2010-05-14T03:12:38.660 回答
3

您的错误是由rbindused in引起的melt,这是错误数据融化的结果。我不知道你是如何创建你的,cast_df data.frame但它缺少.idvarsrdimnamesmelt.cast_df

这就是wkmor1解决方案有效的原因,melt.data.frame不需要这个参数。在不转换Datecharacter它的情况下,可以这样做:

df <- as.data.frame(df)
melt(df, id="created_at")
于 2010-05-14T08:31:18.960 回答