我在R中具有以下玩具数据帧,其中我试图在“条件”和“名称”中采用true / false值的平均值。
Name Condition Values
1 A True
1 B False
1 A True
2 B True
2 B False
3 A False
4 A True
4 B True
... ... ...
有人对处理此嵌套结构有建议吗?我是R的新手,不确定我是否需要使用group_by或聚合或其他方式。非常感谢!
所需的输出:
Name Condition Values(mean)
1 A 1
1 B 0
2 A 0
2 B 0.5
3 A 0
3 B 0
4 A 1
4 B 1
... ... ...
我们可以按“名称”,“条件”和获取mean
逻辑的分组vector
来创建“值”列
library(dplyr)
df1 %>%
group_by(Name, Condition) %>%
mutate(Values = mean(Values == 'True'))
# A tibble: 8 x 3
# Groups: Name, Condition [6]
# Name Condition Values
# <int> <chr> <dbl>
#1 1 A 1
#2 1 B 0
#3 1 A 1
#4 2 B 0.5
#5 2 B 0.5
#6 3 A 0
#7 4 A 1
#8 4 B 1
df1 <- structure(list(Name = c(1L, 1L, 1L, 2L, 2L, 3L, 4L, 4L), Condition = c("A",
"B", "A", "B", "B", "A", "A", "B"), Values = c("True", "False",
"True", "True", "False", "False", "True", "True")),
class = "data.frame", row.names = c(NA,
-8L))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句