我正在使用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)
答案 0 :(得分: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')
答案 1 :(得分: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上使用,但是您始终可以使用remotes::install_github("dcomtois/summarytools")