如何将数据框的所有列转换为 R 中的单个列表?
How can all columns of a dataframe be converted into a single list in R?
这是一个模糊的请求。我正在尝试在 flextable 中为 RMarkdown 文档进行条件格式化,长话短说,我需要一个 list 从数据框派生的值。
这是一个数据帧的例子:
df <- tibble(COL_1 = c(1, 2, 3),
COL_2 = c("A", "B", "C"),
COL_3 = c("Peach", "Plum", "Pear"))
> df
# A tibble: 3 x 3
COL_1 COL_2 COL_3
<dbl> <chr> <chr>
1 1 A Peach
2 2 B Plum
3 3 C Pear
我正在寻找实现以下目标的代码(我不知道值的类型):
"1", "2", "3", "A", "B", "C", "Peach", "Plum", "Pear"
有人有解决办法吗?如果它对 dplyr 友好,则加分。
此外,如果有人有一种简洁明了的方法来格式化 flextable 中许多列中许多值的颜色和背景,我将不胜感激。我怀疑我正在寻求的解决方案是最优的。
unlist
会有帮助
df %>% unlist %>% as.vector
[1] "1" "2" "3" "A" "B" "C" "Peach" "Plum" "Pear"
另一种选择是更改为矩阵并折叠成具有 c
的向量。
library(magrittr)
df %>% as.matrix() %>% c
#[1] "1" "2" "3" "A" "B" "C" "Peach" "Plum" "Pear"
我们可能 stack
和 pull
值
library(dplyr)
stack(df) %>%
pull(values)
#[1] "1" "2" "3" "A" "B" "C" "Peach" "Plum" "Pear"
这是一个模糊的请求。我正在尝试在 flextable 中为 RMarkdown 文档进行条件格式化,长话短说,我需要一个 list 从数据框派生的值。
这是一个数据帧的例子:
df <- tibble(COL_1 = c(1, 2, 3),
COL_2 = c("A", "B", "C"),
COL_3 = c("Peach", "Plum", "Pear"))
> df
# A tibble: 3 x 3
COL_1 COL_2 COL_3
<dbl> <chr> <chr>
1 1 A Peach
2 2 B Plum
3 3 C Pear
我正在寻找实现以下目标的代码(我不知道值的类型):
"1", "2", "3", "A", "B", "C", "Peach", "Plum", "Pear"
有人有解决办法吗?如果它对 dplyr 友好,则加分。
此外,如果有人有一种简洁明了的方法来格式化 flextable 中许多列中许多值的颜色和背景,我将不胜感激。我怀疑我正在寻求的解决方案是最优的。
unlist
会有帮助
df %>% unlist %>% as.vector
[1] "1" "2" "3" "A" "B" "C" "Peach" "Plum" "Pear"
另一种选择是更改为矩阵并折叠成具有 c
的向量。
library(magrittr)
df %>% as.matrix() %>% c
#[1] "1" "2" "3" "A" "B" "C" "Peach" "Plum" "Pear"
我们可能 stack
和 pull
值
library(dplyr)
stack(df) %>%
pull(values)
#[1] "1" "2" "3" "A" "B" "C" "Peach" "Plum" "Pear"