我有一组二进制变量(值为 0 和 1),我想创建一个双向计数表,总结变量对同时出现的计数(即,它们的值为1)。这是一个示例数据集:
mm <- matrix(0, 5, 6)
m <- 2
n <- 2
df <- data.frame(apply(mm, c(1,2), function(x) sample(c(0,1),1)))
colnames(df) <- c("Horror", "Thriller", "Comedy", "Romantic", "Sci.fi", "gender")
最后,我想要一张统计恐怖片(=1)和性别(=1)、惊悚片(=1)和性别(=1)、喜剧(=1)和性别同时出现的表格(=1)、浪漫(=1) 和性别(=1)、科幻(=1) 和性别(=1)。
最佳答案
类似这样的吗?
library(dplyr)
df %>%
mutate(across(-gender, ~ifelse(.==1 & gender ==1, 1, 0), .names = "{col}_gender1" )) %>%
summarise(across(ends_with("gender1"), sum))
Horror_gender1 Thriller_gender1 Comedy_gender1 Romantic_gender1 Sci.fi_gender1
1 1 3 2 1 0
关于r - 创建特定条件下的计数表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70086033/