当第一列包含非数值数据时(因为它充当了行名称),我想准备一个包含行和列之和的交叉表。下面的示例R代码产生了我正在寻找的行计数之和。
mtcars %>%
as.tibble(.) %>% # make as tibble
mutate(cyl = factor(cyl), gear = factor(gear)) %>% # make some factor vars
select(cyl, gear, mpg) %>% # select demo data
group_by(cyl, gear) %>% # two groupings
tally() %>% # compute tallys
spread(cyl, n) %>% # make cross table
mutate(RowCount = rowSums(.[ ,-1], na.rm = TRUE)) # compute row sums
这就产生了
A tibble: 3 × 5
gear `4` `6` `8` RowCount
<fct> <int> <int> <int> <dbl>
1 3 1 2 12 15
2 4 8 4 NA 12
3 5 2 1 2 5
然而,我正在努力寻找语法来给予我四列4
,6
,8
和“RowCount”的总和,并将其作为额外的一行添加到tibble中,作为新的第4行,大概用NA作为“齿轮”总和。注意,这里的最终目的是格式化数据,以便直接输入到一个漂亮的表格中。
3条答案
按热度按时间uubf1zoe1#
下面是使用
bind_rows
的方法thigvfpy2#
你可以尝试这样做,添加一个最终的
rbind
,它只对你想要的列求和:输出:
6uxekuva3#
请使用
rowSums
检查以下代码创建于2023年1月28日,使用reprex v2.0.2