r - 如何在R中的数据表中添加包含每列总计的行
问题描述
我正在处理 R 中的下表,并希望添加包含每列总数的最后一行。我使用了这段代码:
janitor::adorn_totals("row", fill = "-",na.rm = TRUE)
但得到每列的总和。但是,我只想要选定列的总和(人口、病例和死亡),但我还想将总发病率计算为(总病例/总人口*10000)和总病死率作为(总死亡/总病例* 100)。由于我是 R 的新用户,因此我将非常感谢您的帮助。
tab <- read.table(sep = ";", dec = ".", check.names = FALSE, stringsAsFactors = FALSE, header = TRUE,
text = "
Area; Population; Cases; Attack Rate (per 100000); Deaths; CFR (%)
A; 216767; 18; 8.3; 0; 0
B; 181160; 17; 9.4; 0; 0
C; 478978; 717; 87.1; 16; 3.8
D; 446411; 13; 2.9; 0; 0
E; 268476; 3; 1.1; 0; 0
F; 494289; 45; 9.1; 2; 4.4
G; 106303; 9; 8.5; 0; 0
H; 173990; 8; 4.6; 0; 0
")
解决方案
它更容易计算派生列Attack Rate
,并且CFR
只有在计算了总和之后。
然后,您可以使用基本的 tidyverse 函数首先生成一个仅包含摘要的 1 行表。您将其添加到原始数据帧并最后计算攻击率和 CFR。
library(dplyr)
# Start with non-derived columns only
tab1 <- tab %>% select(Area, Population, Cases, Deaths)
# Summarise into a new data frame with one row
summ <- tab1 %>%
select(-Area) %>% # cannot sum() this column
summarise_all(sum) %>%
mutate(Area = "Total")
# Add sums to the original data frame
tab <- bind_rows(tab1, summ)
# Calculate derived columns
tab <- tab %>%
mutate(`Attack Rate` = Cases/Population*10000,
`CFR (%)` = Deaths/Cases*100)
结果tab
:
Area Population Cases Deaths Attack Rate CFR (%)
1 A 216767 18 0 0.8303847 0.000000
2 B 181160 17 0 0.9383970 0.000000
3 C 478978 717 16 14.9693723 2.231520
4 D 446411 13 0 0.2912115 0.000000
5 E 268476 3 0 0.1117418 0.000000
6 F 494289 45 2 0.9103986 4.444444
7 G 106303 9 0 0.8466365 0.000000
8 H 173990 8 0 0.4597965 0.000000
9 Total 2366374 830 18 3.5074760 2.168675
但是,对于派生列,我得到了除您之外的其他值...
推荐阅读
- node.js - 在firebase中,创建一个具有特定exp的自定义令牌?
- java - Elasticsearch Java Rest Client:如何获取所有索引的列表
- google-chrome - 如何在 Vimium 中移动一个字符而不突出显示?
- c# - WPF:如何在调整大小后保持 ListBox SelectedItem 可见?
- python - 如果其他元素使用理解匹配,则从两个字典列表中提取元素
- php - Angular 7 - http 帖子 - 标题内没有发送 PAYLOAD
- c# - 如何在 Xamarin 中创建新按钮
- openapi-generator - Openapi-generator spring:如何替换 @RequestMapping("${openapi.someproject.base-path:/v1}")
- html - 在网格中分离 Bootstrap Div
- python - Flutter 与 Python Django RESTFUL API