gpt4 book ai didi

用行中的用户条目 reshape R 数据,为每个用户折叠

转载 作者:行者123 更新时间:2023-12-04 09:00:55 25 4
gpt4 key购买 nike

请原谅我对 R 世界的新手,提前感谢您的帮助。

我想分析实验中的数据。

数据以长格式出现,需要重新调整为宽格式,但我不知道该怎么做。熔化/类型转换和 reshape 的大多数示例都处理更简单的数据帧。

每次受试者回答一个关于实验的问题时,他的用户名、位置、年龄和性别都会记录在一行中,然后在这些变量旁边输入他关于一系列问题的实验数据。事情是这样的,他们可能会回答任何数量的实验问题,他们可能会回答不同的项目(这很复杂,但必须是这样)。

原始数据如下所示:

User_id, location, age, gender, Item, Resp
1, CA, 22, M, A, 1
1, CA, 22, M, B, -1
1, CA, 22, M, C, -1
1, CA, 22, M, D, 1
1, CA, 22, M, E,-1
2, MD, 27, F, A, -1
2, MD, 27, F, B, 1
2, MD, 27, F, C, 1
2, MD, 27, F, E, 1
2, MD, 27, F, G, -1
2, MD, 27, F, H, -1

我想 reshape 这些数据,让每个用户都在一行,看起来像这样:
User_id, location, age, gender, A, B, C, D, E, F, G, H
1, CA, 22, M, 1, -1, -1, 1, -1, 0, 0, 0,
2, MD, 27, F, -1, 1, 1, 1, 0, 1, -1, -1

我认为这只是找到正确的 reshape 方程的问题,但我已经研究了几个小时,但我无法完全得到我想要的样子,因为大多数示例都没有重复的人口统计数据,因此可以更简单地轮换。如果我忽略了一些简单的事情,非常抱歉。

最佳答案

使用 data.table你可以做:

library(data.table)
> dcast(dt, User_id + location + age ~ Item, value.var = "Resp", fill = 0L)
User_id location age A B C D E G H
1: 1 CA 22 1 -1 -1 1 -1 0 0
2: 2 MD 27 -1 1 1 0 1 -1 -1

关于用行中的用户条目 reshape R 数据,为每个用户折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32061021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com