我有一个数据框,如:
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)
Run Code Online (Sandbox Code Playgroud)
其中有一个分组变量(例如城市)和几个虚拟变量.我想算一下有多少个城市的每个虚拟变量= 1.
到目前为止我管理的是计算有多少个城市有一个特定的假人= 1:
> n_groups(filter(df, x == 1) %>%
+ group_by(city))
[1] 4
Run Code Online (Sandbox Code Playgroud)
但是,我想知道是否有可能为我的数据框中的所有虚拟对象做到这一点,以便获得如下内容:
var count
x 4
y 4
z 2
k 3
Run Code Online (Sandbox Code Playgroud)
其中我有每个虚拟变量的城市数量等于1(计数列),而不必单独为我的样本中的所有虚拟变量做.
谢谢你的帮助!
R基数:
colSums(rowsum(df[, -1], df[, 1]) > 0)
#x y z k
#4 4 2 3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
112 次 |
| 最近记录: |