我正在进行一个受试者内设计,研究参与者如何在各种变量(效价、唤醒等)上对20个视频进行评分,并试图将我的宽格式df转换为长格式,所以它看起来像这样......
| 识别号|视频_类型|价|觉醒|
| - ------|- ------|- ------|- ------|
| 一百二十三|喜剧|1个|一百|
| 一百二十三|戏剧|四个|八十二|
当前的宽格式如下所示:
| 识别号|Comedy.valence|Comedy.arousal|Comedy.rating|Drama.valence|Drama.arousal|
| - ------|- ------|- ------|- ------|- ------|- ------|
| 一百一十一|1个|1个|一百|五个|七|
| 九九九|六个|四个|八十二|三个|八个|
当我使用下面的代码时,长数据集的所有列名都是正确的,但是值没有正确Map(例如,valence的值被放在aroirs下,aroirs的值被放在rating下,等等)。
reshape(videoratings, direction = "long",
varying=c(1:23),
timevar = "video",
times = c("Comedy", "Drama", "Action"),
v.names = c("valence", "arousal", "rating"),
idvar = "ResponseId")
有人知道怎么修吗?
2条答案
按热度按时间yh2wf1be1#
我创建了一个与您的示例类似的示例数据集
然后,我应用如下所示的整形:
输出如下所示:
我对代码做了一些修改:
我想这取决于您有多少列,您可以修改
varying
和lapply
中的列索引umuewwlo2#
只需要切换名称。这不能使用
split =
参数来反转,因此使用sub
函数