我有一个大型数据集,其中包含多个名为:F12.4.1 ... F12.4.10 的变量。
它们每个都有相同的模式,其中 1 表示是,0 表示否。
我想将这些变量转变为一个仅包含 yes 的新变量,所以它看起来像这样:
F12.4.1 --- 30
F12.4.2 --- 20
等等
我创建了这段代码:
library(dplyr)
homeschooling <- data %>%
rowwise() %>%
mutate(yes_count = sum(c_across(c(`F12.4.1`, `F12.4.2`, `F12.4.3`, `F12.4.4`, `F12.4.5`, `F12.4.6`, `F12.4.7`, `F12.4.8`, `F12.4.9`, `F12.4.10`))))
但最终的结果由于某种原因是错误的。它列出了所有变量,但它们没有正确的数字。
---
set.seed(2024)
data <- replicate(10L, rbinom(20L, 1, 1/2)) |>
as.data.frame() |>
setNames(paste0("F12.4.", 1:10))
试试这个:
data %>%
pivot_longer(cols = colnames(data)) %>%
group_by(name) %>%
summarize(count = sum(value))