如何绘制列表中多个数据框中的特定列?
How to plot specific columns in multiple dataframes in a list?
抱歉这个基本问题。我以为我能解决这个问题,但我真的想不出语法。我对 R 很陌生。希望有人能向我解释如何做到这一点。
我有一个包含数据的数据框列表,我想绘制它们。
df_list <- list(
`1.3.A` =
tibble::tribble(
~Person, ~Height, ~Weight,
"Alex", 175L, 75L,
"Gerard", 180L, 85L,
"Clyde", 179L, 79L
),
`2.2.A` =
tibble::tribble(
~Person, ~Height, ~Weight,
"Missy", 175L, 75L,
"Britany", 180L, 85L,
"Sussie", 179L, 79L
),
`1.1.B` =
tibble::tribble(
~Person, ~Height, ~Weight,
"Luke", 175L, 75L,
"Alex", 180L, 85L,
"Haley", 179L, 79L
)
)
有没有办法使用 ggdensity()
绘制身高和体重列。我正在尝试为每个数据框的每一列(高度和重量)绘制多个密度图,但没有成功。
我试过的一些代码:
make_hist <- function(x){
ggdensity(data, x)
}
plots <- lapply(df_list, make_hist)
r <- lapply(df_list, function(x) {
ggdensity(data, x)
我什至尝试过使用 imap,但无法找出 ggdensity 的正确语法并用 imap() 函数或 lapply() 包装它。
对于这个基本问题真的很抱歉,我希望有人能给我解释一下答案。
我们可以遍历 'df_list',为 'Height' 和 'Weight' 创建密度图,然后展平嵌套列表 (do.call(c
) 并使用 ggarrange
通过指定 nrow
和 ncol
绘制 list
中的元素
library(ggpubr)
plots <- lapply(df_list, function(x) ggdensity(x, c("Height", "Weight")))
plots1 <- do.call(c, plots)
ggarrange(plotlist = plots1, nrow = 3, ncol = 2)
-输出
抱歉这个基本问题。我以为我能解决这个问题,但我真的想不出语法。我对 R 很陌生。希望有人能向我解释如何做到这一点。
我有一个包含数据的数据框列表,我想绘制它们。
df_list <- list(
`1.3.A` =
tibble::tribble(
~Person, ~Height, ~Weight,
"Alex", 175L, 75L,
"Gerard", 180L, 85L,
"Clyde", 179L, 79L
),
`2.2.A` =
tibble::tribble(
~Person, ~Height, ~Weight,
"Missy", 175L, 75L,
"Britany", 180L, 85L,
"Sussie", 179L, 79L
),
`1.1.B` =
tibble::tribble(
~Person, ~Height, ~Weight,
"Luke", 175L, 75L,
"Alex", 180L, 85L,
"Haley", 179L, 79L
)
)
有没有办法使用 ggdensity()
绘制身高和体重列。我正在尝试为每个数据框的每一列(高度和重量)绘制多个密度图,但没有成功。
我试过的一些代码:
make_hist <- function(x){
ggdensity(data, x)
}
plots <- lapply(df_list, make_hist)
r <- lapply(df_list, function(x) {
ggdensity(data, x)
我什至尝试过使用 imap,但无法找出 ggdensity 的正确语法并用 imap() 函数或 lapply() 包装它。
对于这个基本问题真的很抱歉,我希望有人能给我解释一下答案。
我们可以遍历 'df_list',为 'Height' 和 'Weight' 创建密度图,然后展平嵌套列表 (do.call(c
) 并使用 ggarrange
通过指定 nrow
和 ncol
list
中的元素
library(ggpubr)
plots <- lapply(df_list, function(x) ggdensity(x, c("Height", "Weight")))
plots1 <- do.call(c, plots)
ggarrange(plotlist = plots1, nrow = 3, ncol = 2)
-输出