有没有一种方法可以在RStudio Viewer中显示多个表?

时间:2019-07-03 02:40:49

标签: r summarytools

如果我运行以下交叉表代码,请使用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输出文件吗?

2 个答案:

答案 0 :(得分:0)

您可以将view更改为print,然后将其编织为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的编织功能:

enter image description here

答案 1 :(得分:0)

作为降价解决方案的替代方法,程序包的append方法/ print函数有一个view参数。因此,当您使用file参数并将第一个交叉表的输出定向到html文件时,可以使用append=TRUE将相同的文件路径用于其他两个文件。