3

我正在使用包中的freq函数summarytools在 RStudio 中创建频率表。

似乎无法关闭表格中的累积百分比和总百分比列。例如:

library(summarytools)
data(mtcars)
view(freq(mtcars$cyl, totals=FALSE, cumul=FALSE))

仍然会生成一个包含重复的累积和总百分比列的表。我只需要一个包含变量值、计数和百分比的表格。

我尝试使用重置全局选项st_options(freq.cumul = FALSE, freq.totals = FALSE)但收到错误消息:

Error in st_options(freq.cumul = FALSE, freq.totals = FALSE) : 
  unused arguments (freq.cumul = FALSE, freq.totals = FALSE)

更新

终于弄明白了——我没有在freq函数中使用足够的参数。以下代码生成了一个不错的频率表:

cyl_freq <- freq(mtcars$cyl, report.nas = FALSE, totals=FALSE, cumul=FALSE, style = "rmarkdown", headings = FALSE);
view(cyl_freq)

如果您需要跨多个列创建一堆表multiple_:

multiple_freq <- lapply(mtcars[c(2,8:11)], function(x) freq(x, report.nas = FALSE, totals=FALSE, cumul=FALSE, headings = FALSE));
view(multiple_freq)
4

2 回答 2

1

似乎您找到了如何使其工作...作为提示,您可以跳过该lapply部分。所以这应该按预期工作:

library(summarytools)
freq(mtcars[c(2,8:11)], 
     report.nas=FALSE, totals=FALSE, cumul=FALSE, headings=FALSE)

在 0.9.8 之前的版本中执行此操作时,存在 cumul 参数未注册的问题,但已修复。0.9.8 版现在随时都会在 CRAN 上,但您始终可以从 GitHub 安装最新版本remotes::install_github("dcomtois/summarytools")

于 2020-12-10T13:32:57.590 回答
1

这没有使用该summarytools软件包,但我认为这可能是您正在寻找的。

frtable <- table(mtcars$cyl)

percent <- prop.table(frtable)

dt <- cbind(frtable , percent) %>% set_colnames(c("Count", "Percent"))

DT::datatable(dt) %>% DT::formatPercentage('percent')

于 2019-07-01T17:45:55.297 回答