สร้างนับอยู่ใต้โต๊ะเจาะจงเงื่อนไข

0

คำถาม

ฉันต้องเป็นตั้งของฐานสองตัวแปร(กับค่าต่างๆขอ 0 และ 1)และฉันต้องการสร้างสองทางนับนโต๊ะนั่น summarizes ที่ยอมรับข้อกล่าวหาของ cooccurrence ของคู่กันของตัวแปร(i.e. ทั้งสองของพวกเขามีค่า 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")

ในที่สุดฉันก็เหมือนจะมีโต๊ะนั่นยอมรับข้อกล่าวหาที่ cooccurrence ของสยองขวัญ(=1)และเพศ(=1),เอาล่ะงั้นเจอกันวันจันทร์(=1)และเพศ(=1),เปลี่ยนเสื้อผ้าก่อ(=1)และเพศ(=1),โรแมนติ(=1)และเพศ(=1)และ sci.fi(=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? Preferrably อยู่ในที่เดียวกันชิ้นส่วนของ dplyr รหัส
cliu

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

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

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่