3

dataframe1つの列に日付があり、2番目の列に変数としてユーザー名があり、最後に値があるように、を溶かしたいと思います。

次のエラーが表示されます。

as.Date.numeric(value) のエラー: 'origin' を指定する必要があります

私はエラーを理解していますが、それを回避する方法が正確にはわかりません。

データの小さなサンプルは次のとおりです。

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

エラーは でrbind使用されているために発生しますmelt。これは、誤ったデータが溶けた結果です。を作成する方法はわかりませんがcast_df data.frame、 に必要な属性 (idvarsおよびrdimnames) がありませんmelt.cast_df

これがwkmor1ソリューションが機能する理由melt.data.frameです。この引数は必要ありません。それに変換せずに、Date次のようcharacterに実行できます。

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