如何从 R 中的 str() 函数生成 "pretty" 输出
How to generate "pretty" output from the str() function in R
我有一个中等大小的数据集,它有 1000 行 x 81 列。我想使用 str()
的输出,但我想以“更漂亮”的方式呈现它。我试过这样的事情:
df %>% str() %>% kableExtra::kbl() %>% kableExtra::kable_minimal()
和
tbl_summary(as.data.frame(str(df)))
但都不起作用。我没有嫁给 str()
或任何特定的包裹,但这就是我想要的那种总结。
最后,这是为了生成一个 HTML 文件,但我希望它也能处理 PDF 输出。
关于如何做到这一点有什么想法吗?
更新二:
这可以利用这个要点 devtools::source_gist('4a0a5ab9fe7e1cf3be0e')
来实现
<devtools::source_gist('4a0a5ab9fe7e1cf3be0e')>
print(strtable(iris, factor.values=as.integer), na.print='') %>%
kable() %>%
htmlTable()
更新一:
你可以延长:
data.frame(variable = names(iris),
class = sapply(iris, typeof),
levels = sapply(iris, class),
first_values = sapply(iris, function(x) paste0(head(x), collapse = ", ")),
levels_values = sapply(iris, function(x) paste0(unique(x), collapse =", ")),
row.names = NULL) %>%
kable() %>%
htmlTable()
第一个回答:
像这样使用 iris
数据集:
library(knitr)
library(magrittr)
library(htmlTable)
data.frame(variable = names(iris),
classe = sapply(iris, typeof),
first_values = sapply(iris, function(x) paste0(head(x), collapse = ", ")),
row.names = NULL) %>%
kable() %>%
htmlTable()
skimr
和 gt
(或 kable,或 flextable,或 DT,或许多其他 table 包)也可以在这里工作:
mtcars |>
skimr::skim() |>
gt::gt()
我有一个中等大小的数据集,它有 1000 行 x 81 列。我想使用 str()
的输出,但我想以“更漂亮”的方式呈现它。我试过这样的事情:
df %>% str() %>% kableExtra::kbl() %>% kableExtra::kable_minimal()
和
tbl_summary(as.data.frame(str(df)))
但都不起作用。我没有嫁给 str()
或任何特定的包裹,但这就是我想要的那种总结。
最后,这是为了生成一个 HTML 文件,但我希望它也能处理 PDF 输出。
关于如何做到这一点有什么想法吗?
更新二:
devtools::source_gist('4a0a5ab9fe7e1cf3be0e')
<devtools::source_gist('4a0a5ab9fe7e1cf3be0e')>
print(strtable(iris, factor.values=as.integer), na.print='') %>%
kable() %>%
htmlTable()
更新一: 你可以延长:
data.frame(variable = names(iris),
class = sapply(iris, typeof),
levels = sapply(iris, class),
first_values = sapply(iris, function(x) paste0(head(x), collapse = ", ")),
levels_values = sapply(iris, function(x) paste0(unique(x), collapse =", ")),
row.names = NULL) %>%
kable() %>%
htmlTable()
第一个回答:
像这样使用 iris
数据集:
library(knitr)
library(magrittr)
library(htmlTable)
data.frame(variable = names(iris),
classe = sapply(iris, typeof),
first_values = sapply(iris, function(x) paste0(head(x), collapse = ", ")),
row.names = NULL) %>%
kable() %>%
htmlTable()
skimr
和 gt
(或 kable,或 flextable,或 DT,或许多其他 table 包)也可以在这里工作:
mtcars |>
skimr::skim() |>
gt::gt()