创建计数表在特定条件

0

的问题

我有一个集中的二进制的变量(有价值的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),并sci.网络(=1)和性别(=1).

1

最好的答案

3

像这样的东西?

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
2021-11-23 19:15:28

谢谢你。 这正是我期待的。 我将t()结束时,以使它垂直
cliu

一个后续行动的问题。 你知道怎么还添加了另一个列罪名的所有其他变量与价值1和两性=0? 最好在同一块的 dplyr 代码
cliu

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................