r - 创建特定条件下的计数表

标签 r data-structures data-manipulation crosstab two-way-binding

我有一组二进制变量(值为 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/

相关文章:

hadoop - Hadoop集群中的数据处理如何完成?

r - 在 R 中创建一个包含 100 列所需列名的数据框

r - 如何在R中获取表格,包括计数、相对频率和累积频率?

r - R中的数字列名

database - An Efficient Lookup Table in redis--使用redis sets实现?

perl - 如何在 Perl 中创建散列的散列?

r - R 中的合并表

algorithm - 带链接的哈希表(表加倍)

r - 使用 pivot_wider 获取 true 或 false

r - 在不存在的日期之间插入累积值 :