R - 在 Rmarkdown 中保留 table 的总和列
R - keep summation column from a tibble for a table in Rmarkdown
我是 R 的新手。到目前为止,我已经设法找到解决问题的方法并调整我的代码。但是,我已经2天没能解决下面的问题了。可能有一个非常简单的解决方案,但我的技能太有限了。提前抱歉(也为我的英语)。
我尝试仅根据特定值范围对一列中的数值进行排序。
最终目标是在 Rmarkdown 文件中有一个 table,其中列出了这些值在其代表性范围内的总和。
到目前为止,我只设法创建了一个带有求和列的小标题。不幸的是,我被困在那里。我不能 transfer/keep 求和列,即使我将 int- 转换为 dbl-column。编织文件仍然只以 non-summarized 的方式显示标签(Level 1,Level 2,...)。当我尝试打印它时也会发生这种情况。求和会消失。
tl;dr:我怎样才能保留这个汇总列,以便在 Rmarkdown 的 table 中使用它?
感谢任何建议!
library(tidyverse)
library(knitr)
a <- c(12.3, 13.8, 14.5, 15.4, 16.5, 12.7, 14.2, 16.1, 13.9, 18)
a
## [1] 12.3 13.8 14.5 15.4 16.5 12.7 14.2 16.1 13.9 18.0
b <- cut(a, c(-Inf, '12', '13', '14', '15', '16', '17', Inf), labels=c('Level 1', 'Level 2', 'Level 3', 'Level 4', 'Level 5', 'Level 6', 'Level 7'))
table(b)
## b
## Level 1 Level 2 Level 3 Level 4 Level 5 Level 6 Level 7
## 0 2 2 2 1 2 1
class(b)
## [1] "factor"
b <- as.data.frame(b)
b %>%
group_by(b, .drop = FALSE) %>%
dplyr::summarise(Numbers = n()) %>%
mutate(Numbers = rowSums(.[-1]))
## `summarise()` ungrouping output (override with `.groups` argument)
## # A tibble: 7 x 2
## b Numbers
## <fct> <dbl>
## 1 Level 1 0
## 2 Level 2 2
## 3 Level 3 2
## 4 Level 4 2
## 5 Level 5 1
## 6 Level 6 2
## 7 Level 7 1
class(b)
## [1] "data.frame"
print(as_tibble(b))
## # A tibble: 10 x 1
## b
## <fct>
## 1 Level 2
## 2 Level 3
## 3 Level 4
## 4 Level 5
## 5 Level 6
## 6 Level 2
## 7 Level 4
## 8 Level 6
## 9 Level 3
## 10 Level 7
kable(b)
b
Level 2
Level 3
Level 4
Level 5
Level 6
Level 2
Level 4
Level 6
Level 3
Level 7
您刚刚忘记保存更新的 b 对象:)
b <- as.data.frame(b)
b <- b %>%
group_by(b, .drop = FALSE) %>%
dplyr::summarise(Numbers = n()) %>%
mutate(Numbers = rowSums(.[-1]))
或者你可以像这样从第一行开始管道:
b <- as.data.frame(b) %>%
group_by(b, .drop = FALSE) %>%
dplyr::summarise(Numbers = n()) %>%
mutate(Numbers = rowSums(.[-1]))
我是 R 的新手。到目前为止,我已经设法找到解决问题的方法并调整我的代码。但是,我已经2天没能解决下面的问题了。可能有一个非常简单的解决方案,但我的技能太有限了。提前抱歉(也为我的英语)。
我尝试仅根据特定值范围对一列中的数值进行排序。 最终目标是在 Rmarkdown 文件中有一个 table,其中列出了这些值在其代表性范围内的总和。
到目前为止,我只设法创建了一个带有求和列的小标题。不幸的是,我被困在那里。我不能 transfer/keep 求和列,即使我将 int- 转换为 dbl-column。编织文件仍然只以 non-summarized 的方式显示标签(Level 1,Level 2,...)。当我尝试打印它时也会发生这种情况。求和会消失。
tl;dr:我怎样才能保留这个汇总列,以便在 Rmarkdown 的 table 中使用它?
感谢任何建议!
library(tidyverse)
library(knitr)
a <- c(12.3, 13.8, 14.5, 15.4, 16.5, 12.7, 14.2, 16.1, 13.9, 18)
a
## [1] 12.3 13.8 14.5 15.4 16.5 12.7 14.2 16.1 13.9 18.0
b <- cut(a, c(-Inf, '12', '13', '14', '15', '16', '17', Inf), labels=c('Level 1', 'Level 2', 'Level 3', 'Level 4', 'Level 5', 'Level 6', 'Level 7'))
table(b)
## b
## Level 1 Level 2 Level 3 Level 4 Level 5 Level 6 Level 7
## 0 2 2 2 1 2 1
class(b)
## [1] "factor"
b <- as.data.frame(b)
b %>%
group_by(b, .drop = FALSE) %>%
dplyr::summarise(Numbers = n()) %>%
mutate(Numbers = rowSums(.[-1]))
## `summarise()` ungrouping output (override with `.groups` argument)
## # A tibble: 7 x 2
## b Numbers
## <fct> <dbl>
## 1 Level 1 0
## 2 Level 2 2
## 3 Level 3 2
## 4 Level 4 2
## 5 Level 5 1
## 6 Level 6 2
## 7 Level 7 1
class(b)
## [1] "data.frame"
print(as_tibble(b))
## # A tibble: 10 x 1
## b
## <fct>
## 1 Level 2
## 2 Level 3
## 3 Level 4
## 4 Level 5
## 5 Level 6
## 6 Level 2
## 7 Level 4
## 8 Level 6
## 9 Level 3
## 10 Level 7
kable(b)
b
Level 2
Level 3
Level 4
Level 5
Level 6
Level 2
Level 4
Level 6
Level 3
Level 7
您刚刚忘记保存更新的 b 对象:)
b <- as.data.frame(b)
b <- b %>%
group_by(b, .drop = FALSE) %>%
dplyr::summarise(Numbers = n()) %>%
mutate(Numbers = rowSums(.[-1]))
或者你可以像这样从第一行开始管道:
b <- as.data.frame(b) %>%
group_by(b, .drop = FALSE) %>%
dplyr::summarise(Numbers = n()) %>%
mutate(Numbers = rowSums(.[-1]))