【发布时间】:2015-11-09 06:08:56
【问题描述】:
目前我有一个需要从宽格式转换为长格式的文件。数据示例为:
Subject,Cat1_Weight,Cat2_Weight,Cat3_Weight,Cat1_Sick,Cat2_Sick,Cat3_Sick
1,10,11,12,1,0,0
2,7,8,9,1,0,0
但是,我需要如下长格式
Subject,CatNumber,Weight,Sickness
1,1,10,1
1,2,11,0
1,3,12,0
2,1,7,1
2,2,8,0
2,3,9,0
到目前为止,我已经尝试在 R 中使用 melt 功能
datalong <- melt(exp2_simon_shortform, id ="Subject")
但它将每个列名视为一个唯一变量,每个变量都有自己的值。有谁知道我如何从指定的宽到长,参考列标题名称?
干杯。
编辑:我意识到我犯了一个错误。我的最终输出需要如下。所以从 Cat1_ 部分,我实际上需要取出“Cat”和“1”
Subject Animal CatNumber Weight Sickness
1 Cat 1 10 1
1 Cat 2 11 0
1 Cat 3 12 0
2 Cat 1 7 1
2 Cat 2 8 0
2 Cat 3 9 0
非常感谢任何更新的解决方案。
【问题讨论】:
-
是的,老实说,这是对问题的一个相对较小的调整。我想寻找这个问题的解决方案的人不会受到我的更新的阻碍。但为此道歉,我是 Stack 规范的新手。
-
没问题,我更新了解决方案。