【发布时间】:2018-07-13 18:33:18
【问题描述】:
我有一个数据框,例如:
city <- c("a","a","b","b","c","c","c","c","d","e","e","f")
x <- c(0,0,0,1,1,1,0,0,0,1,1,1)
y <- c(1,1,0,0,0,1,1,0,0,1,0,1)
z <- c(1,0,0,0,0,0,0,0,0,0,1,0)
k <- c(1,1,0,0,0,1,0,0,1,0,0,0)
df <- data.frame(city, x, y, z, k)
其中有一个分组变量(例如城市)和几个虚拟变量。我想计算每个虚拟变量 = 1 的城市有多少。
到目前为止,我所做的是计算有多少城市有一个特定的虚拟 = 1:
> n_groups(filter(df, x == 1) %>%
+ group_by(city))
[1] 4
但是,我想知道是否可以对我的数据框中的所有虚拟对象执行此操作,以便获得类似:
var count
x 4
y 4
z 2
k 3
其中我有每个虚拟变量等于 1(计数列)的城市数量,而不必为我的样本中的所有虚拟变量单独执行。
感谢您的帮助!
【问题讨论】: