2

ctable如果我使用包中的函数运行以下交叉表代码summarytools

library(summarytools)
data(mtcars)
varlist <- names(mtcars[,3:5])
crosstables <- list(NULL)
for (i in varlist){
  crosstables[[i]] <- ctable(mtcars[[i]], mtcars$cyl, prop = 'r', style="simple", method = "render", header=TRUE)
  view(crosstables[[i]])
  }

而不是在 RStudio 查看器中看到三个交叉表,只显示最后一个。如果我尝试显示所有三个表:

view(crosstables)

我收到以下错误消息:

x must either be a summarytools object created with freq(), descr(), or a list of freq() / descr() objects created using by(), or a list of freq() objects created using lapply(). Support for by() used with ctable() may be available in future realeases.

有没有办法在同一个查看器窗口中堆叠所有三个表?也许一种组合交叉表的html输出文件的方法?

4

2 回答 2

0

您可以更改viewprint并编织为 html

这是相同的代码:

library(summarytools)
data(mtcars)
varlist <- names(mtcars[,3:5])
crosstables <- list(NULL)
for (i in varlist){
  crosstables[[i]] <- ctable(mtcars[[i]], mtcars$cyl, prop = 'r', style="simple", method = "render", header=TRUE)
  print(crosstables[[i]])
  }

只有最后一行不同。然后使用 RStudio 的编织功能:

在此处输入图像描述

于 2019-07-03T04:17:02.967 回答
0

作为降价解决方案的替代方案,append包的print方法/view函数有一个参数。因此,当您使用file参数并将第一个交叉表中的输出直接输出到 html 文件时,您可以对使用append=TRUE.

于 2019-09-02T02:27:48.290 回答