2017-06-06 68 views
1

我是新来的R,我真的需要你的帮助。我在这件事上搁浅了好几天,但没有任何线索。我需要将宽数据集转换为长格式。我有63个观察值和146个变量。这意味着我将以9072行结束。错误消息与功能融合

我试图让看起来应该是这样长的数据集:

参与者组项目评级等。

这里是结构的数据集。

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与熔融体function.Here是我的命令行:

age_ratings_long <-melt(age_ratings_wide[c(3:146)],id.vars = c("participant","group"),value.name = "ratings",varaible.name="item") 

Error: id variables not found in data: participant, group

我继续得到甚至当我试图缩短我要堆叠的列数此错误消息。

Kholoud

回答

0

试试这个:

age_ratings_long = melt(age_ratings_wide,id.vars=c("participant","group")) 

如果这个来看,我认为你已经删除了你的id.varsage_ratings_wide[c(3:146)]命令。

+0

谢谢!是!那为我跑了。奇怪的是,指定要转换的列时id.vars被删除。意思是不是?我必须始终避免[c(x:x)]命令? – Kholoud

+0

不,它使用这两列来“转动”表格。对于'[c(x:x)]'是的。如果您没有问题,请点击勾号(左侧);) –