我是R的新手,我真的需要你的帮助。我在这件事上难倒了几天但没有任何线索。我需要将宽数据集转换为长格式。我有63个观察值和146个变量。这意味着我将以9072行结束。
我想要的长数据集应该如下所示:
参与者组项目评级 1 1 1 2 1 1 2 3 144 等。
这是数据集的结构。
str (age_ratings_wide)
'data.frame': 63 obs. of 146 variables:
$ participant : Factor w/ 63 levels "E1","E10","E11",..: 49 50 51 52 53 54 55 56 57 58 ...
$ group : Factor w/ 3 levels "1-6","7-13","NS": 3 3 3 3 3 3 3 3 3 3 ...
$ M1_5_adv_g1 : int 2 4 5 5 4 5 5 5 4 5 ...
$ M1_17_adv_g2 : int 5 5 5 5 5 5 5 5 5 5 ...
[list output truncated]
问题是我第一次设法将其转换为我想要的但未能保存。然后它停止了为我工作。我使用RStudio和reshape2作为函数。这是我的命令行:
age_ratings_long <-melt(age_ratings_wide[c(3:146)],id.vars = c("participant","group"),value.name = "ratings",varaible.name="item")
错误:数据中找不到id变量:参与者,组
即使我试图缩短要堆叠的列数,我仍然会收到此错误消息。
Kholoud
答案 0 :(得分:0)
试试这个:
age_ratings_long = melt(age_ratings_wide,id.vars=c("participant","group"))
如果运行,我认为您已使用id.vars
命令删除了age_ratings_wide[c(3:146)]
。