在data.frame中添加一行,每列有条件均值

拉希德·拉斯科(Raschid Rasko)

想象一下我有这个数据集:

id data_level var1    var2
aa   h         1       4
bb   l         2       5
cc   l         1.4     4.2
dd   h         1.3     3.8

我想添加新行以获取此信息:

id data_level var1    var2
aa   h         1       4
bb   l         2       5
cc   l         1.4     4.2
dd   h         1.3     3.8
h    h         2.3     3.9
l    l         3.4     4.6
All  All       5.7     4.25

新行分别为:

在var 1中,data_level = h的所有值的总和,data_level = l的所有值的总和,data_level = l的所有值的总和

在var 2中,data_level = h的所有值的平均值,data_level = l的所有值的平均值,所有值的平均值。

基本上,它是在数据级别上以数据为条件的聚合。有花哨的方法吗?

马丁·加尔

这不是一个非常好的方法,但是您可以使用dplyr

df %>%
  group_by(data_level) %>%
  summarise(id=data_level, var1=sum(var1), var2=mean(var2), .groups="drop") %>%
  distinct() %>% 
  rbind(df, ., c("All", "All", sum(.$var1), mean(.$var2)))

哪个返回

# A tibble: 7 x 4
  id    data_level var1  var2 
  <chr> <chr>      <chr> <chr>
1 aa    h          1     4    
2 bb    l          2     5    
3 cc    l          1.4   4.2  
4 dd    h          1.3   3.8  
5 h     h          2.3   3.9  
6 l     l          3.4   4.6  
7 All   All        5.7   4.25 

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在data.table [R]中对具有条件的每列应用一个函数

编辑data.frame中的每一行

将每一行与data.frame中的所有其他行进行比较

有条件地向data.frame添加行

R:有关如何针对data.frame中的每一行在其他多个条件下计算新列的建议

有条件地更改data.frame中的值

有条件地从R中的data.table中删除行

R data.table:为所有行中有条件的行子集添加新列

有条件地更改data.frame的值,但保持R中其他所有内容不变

data.frame:在每一行中查找值的最后一个索引

复制data.frame的每一行,并指定每一行的复制次数?

在R data.frame的每一行中填充丢失的元素

Data.Frame中每一行的样本随机列

查找data.frame中每一行的峰形

将pandas data.frame中的每一行复制到单个文件

如果特定列符合条件,则快速检查data.table中的每一行

R将功能应用于data.frame-> edgelist中每一行的每两个元素

使用data.table根据R中的B列,有条件地删除A列中匹配的行

检查每一行是否有列名出现在另一个data.frame中,报告TRUE和FALSE

如何将有条件重复删除应用于data.frame列表?

有条件地为类`sf` 和`data.frame` 的对象赋值

有条件地用R中的data.table替换组中的第一个值

打印每一行,但有条件地仅打印某些行的片段

SQL有条件地更新每一行

有条件地对数据帧的每一行进行计数

PostgreSQL有条件地为每一行生成值

在具有Data.Table的组中有条件地选择行

根据R中的两个索引获取data.frame中每一行的列范围

在Vuetify中,如何在<v-data-table>的每一行中添加一个按钮?