如何在保留原始数据帧的同时获取组级统计信息?

ℕʘʘḆḽḘ

我有以下数据框

one <- c('one',NA,NA,NA,NA,'two',NA,NA)
group1 <- c('A','A','A','A','B','B','B','B')
group2 <- c('C','C','C','D','E','E','F','F')

df = data.frame(one, group1,group2)


> df
   one group1 group2
1  one      A      C
2 <NA>      A      C
3 <NA>      A      C
4 <NA>      A      D
5 <NA>      B      E
6  two      B      E
7 <NA>      B      F
8 <NA>      B      F

我想获得的非缺失观测值的计数one的每个组合group1group2

在Pandas中,我会使用groupby(['group1','group2']).transform,但是如何在R中做到这一点呢?原始数据帧为大。

预期输出为:

> df
   one group1 group2 count
1  one      A      C     1
2 <NA>      A      C     1
3 <NA>      A      C     1
4 <NA>      A      D     0
5 <NA>      B      E     1
6  two      B      E     1
7 <NA>      B      F     0
8 <NA>      B      F     0

非常感谢!

滕西拜

data.table

setDT(df)
df[,count_B:=sum(!is.na(one)),by=c("group1","group2")]

给出:

   one group1 group2 count_B
1: one      A      C       1
2:  NA      A      C       1
3:  NA      A      C       1
4:  NA      A      D       0
5:  NA      B      E       1
6: two      B      E       1
7:  NA      B      F       0
8:  NA      B      F       0

这个想法是对真实值求和(一旦转换为整数,则为1),NA而在按group1分组时,B不是group2

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何获取指向原始数据的std :: vector指针?

如何在prcomp中反转PCA以获取原始数据

向南迁移:删除所有迁移文件(00 * _ *),从0001开始,同时保留原始数据

汇总向量,然后将汇总统计信息附加到R中的原始数据帧

如何将摘要统计信息作为每个统计信息的新变量加入原始数据帧

如何在Scala中按数据框获取统计信息?

如何使用原始数据帧中的列名和行名将矩阵转换为数据帧

如何在R中连接数据帧而不复制原始数据值

将两个数据帧中的数据关联为一个,同时保留原始数据的信息

如何合并承载有关跨多个变量和多个组的多个统计信息的数据帧?

FoldLeft但保留原始数据结构

从原始数据帧中获取多个数据帧

如何在保留所有原始数据的同时汇总一个熊猫数据框?

如何从pdf.js获取原始数据

ddply bug?(将在组内计算的lm残差添加回原始数据帧)

sklearn:如何获取由model.transform从原始数据帧删除的列索引

如何从支付数据中获取统计信息?

如何在 Pandas 计数中包含零值并将结果与原始数据帧合并

修改前如何获取原始数据?

如何在子集(切片)计算后更新原始数据帧?

Python 循环,需要/无法从原始数据帧中保留值

将 Python 数据帧分成组,执行操作,然后将组重新连接到原始数据帧中

如何在 Pandas 中获取组统计信息

如何根据多个变量定位数据帧的子组并仅替换原始数据帧中该子组的值?

如何获取一维条码图像的原始数据?

如何正确过滤数组(同时保留原始数据)

如何在 Cassandra 2.1.6 中获取二级索引的统计信息(例如磁盘大小)?

如何在保留顺序的同时从图表图像中获取数据?

如何将 sprintf 函数应用于 r 数据帧以将值转换为百分比,同时保持原始数据帧结构?