我目前面临 R 中的数据操作问题,到目前为止我还没有找到解决方案(虽然有许多看似相似的问题但是,这些问题并没有引导我路径)。
示例数据说明 数字(1-3)指的是受访者被询问的单独实体。这些实体具有不同的角色(x)和属性(y)。
ID x1 x2 x3 y1 y2 y3
A 1 1 5 4 3 2
B 2 2 2 3 4 5
这里重点是x1链接到y1,x2到y2等等。
目标: 对于每个案例。我想为每个角色x得到y的平均得分(在单独的附加列中,例如,m1,m2,m3,m4,m5)
示例:
任何提示?谢谢!
答案 0 :(得分:0)
我会先重新构建你的数据,但鉴于它是如何,这可能会有用......
df <- read.table(header = T, text = '
ID x1 x2 x3 y1 y2 y3
A 1 1 3 4 3 2
B 2 2 2 3 4 5
')
for (entity in 1:3) {
df[paste0('m', entity)] <- sapply(1:nrow(df), function(row) {
value <- mean(df[row, 5:7][df[row, 2:4] == entity])
ifelse(is.nan(value), NA, value)
})
}
df
给出了这个......
ID x1 x2 x3 y1 y2 y3 m1 m2 m3
1 A 1 1 3 4 3 2 3.5 NA 2
2 B 2 2 2 3 4 5 NA 4 NA