【发布时间】:2016-04-08 10:49:53
【问题描述】:
我有一个相当大的数据框,其结构如下:
image coef v3 v4 v5 v6 ... v20
1 A 0 1 2 3
1 B 2 4 6 5
1 C 1 2 4 7
1 D 4 5 6 4
2 A 2 3 4 5
2 B 2 3 4 5
2 C 2 3 4 5
2 D 2 3 4 5
我需要在每个图像索引的 coef 变量上使用“扁平化”结构。现在每个图像都有形状 [4:20] 的变量,但我需要它是 [1:80] 与模式 [A,B,C,D,A',B',C',D'.. .]。 像这样:
image v3 v4 v5 v6 v7 v8 v9 v10 ... v80
1 0 2 1 4 1 4 2 5
2 2 2 2 2 3 3 3 3
我尝试过:
reshape(df, timevar = "coef", idvar = "image", direction = "wide")
但我给了我错误:
数据[, timevar] 中的错误:子索引超出范围
我还尝试了 Reshape2 库:
dcast(df, image~coef, value.var= )
但由于我有不止一个 value.var 列,我不知道该怎么做。
【问题讨论】:
-
我只想指出,您的 data.frame 非常整洁,非常适合使用 dplyr 进行调查或使用 ggplot2 进行绘图。确保您有正当理由更改方便的格式:)
-
@antoine-sac 是的,我确定!我想要这样,因为我正在使用数据进行机器学习,并且每个类都需要一个向量 :~~) 感谢您的建议!
标签: r dataframe reshape reshape2