R中的条件均值
Conditional Means in R
我目前在 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)
示例:
- 对于 ID==A,我们期望 x==1:(4+3)/2 = 3.5 [不需要“2”,因为 x3 的 "linked" 值不等于 1 ]
- 对于 ID==A 我们期望 x==3: (2)/1 = 2
- 对于 ID==B 我们期望 x==1: NA
- 对于 ID==B,我们期望 x==2:(3+4+5)/3=4
有什么提示吗?谢谢!
我会先重组你的数据,但考虑到它的情况,这可能有效...
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
我目前在 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)
示例:
- 对于 ID==A,我们期望 x==1:(4+3)/2 = 3.5 [不需要“2”,因为 x3 的 "linked" 值不等于 1 ]
- 对于 ID==A 我们期望 x==3: (2)/1 = 2
- 对于 ID==B 我们期望 x==1: NA
- 对于 ID==B,我们期望 x==2:(3+4+5)/3=4
有什么提示吗?谢谢!
我会先重组你的数据,但考虑到它的情况,这可能有效...
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