R - 表太大而无法放入控制台窗口?

时间:2017-01-17 17:06:09

标签: r crosstab

首先是免责声明:我是Stata用户试图完全“跳”到R(慢慢地)。

当我看到其中一个根本不适合我的控制台尺寸时,我正在制作一些简单的交叉表。在Stata中,使用相同的数据和相同的变量,交叉表非常适合。然而,在R中,一切都变得非常混乱。

表格为10x10。下面是一个可重现的例子:

library(gmodels)
df  <- data.frame(id = 1:100, x1=sample(1:7, size=100,replace=TRUE), 
                  x2 = sample(0:10, size=100, replace=TRUE))

CrossTable(df$x1, df$x2, prop.r=TRUE, prop.t=TRUE, prop.c=TRUE)

上表不适合我的屏幕。我甚至没有兴趣将它放入LaTeX文档中;我只是想探索那个交叉表。我有兴趣使用CrossTable,因为它产生的东西对我来说是一个好看的表,其中包含百分比(行和列)和总计。我不知道这是否是CrossTable的问题,或者是由于我的R安装如何显示/限制输出。我尝试在Rmarkdown中使用“options(widht = huge_number)”指定更大的空间,但这无济于事。

其他一些主题对我没什么帮助。我找不到与我的问题直接相关的任何内容。线程示例:

How do I fit a very wide grid.table or tableGrob to fit on a pdf page?

Automatically adjust LaTeX table width to fit pdf using knitr and Rstudio

R-LaTeX Wide table

任何帮助将不胜感激。我也愿意学习其他导致类似输出的软件包。谢谢!

3 个答案:

答案 0 :(得分:0)

查看此主题: This用于创建Latex pdf。它可能会帮助你。 要进入终端,要检查列,请使用str(columns),或者使用data.table包查看终端窗口内的数据框。否则,您可以逐步切片查看数据帧。 如果这有帮助,请告诉我。

答案 1 :(得分:0)

CrossTable调用实际上会创建一个包含所有部分的列表对象。检查这些列表对象可能很有用。

x<-CrossTable(df$x1, df$x2, prop.r=TRUE, prop.t=TRUE, prop.c=TRUE)
x$t
   y
x   0 1 2 3 4 5 6 7 8 9 10
  1 2 1 2 0 1 3 1 1 2 1  1
  2 2 1 1 2 1 2 1 2 1 2  0
  3 2 2 2 2 0 1 3 2 2 1  2
  4 1 2 1 1 1 2 2 1 2 0  0
  5 0 0 0 1 4 2 1 0 1 1  0
  6 0 1 2 0 0 1 0 1 0 1  5
  7 0 2 0 3 1 1 1 1 2 5  1

round(x$prop.row,3)
   y
x       0     1     2     3     4     5     6     7     8     9    10
  1 0.133 0.067 0.133 0.000 0.067 0.200 0.067 0.067 0.133 0.067 0.067
  2 0.133 0.067 0.067 0.133 0.067 0.133 0.067 0.133 0.067 0.133 0.000
  3 0.105 0.105 0.105 0.105 0.000 0.053 0.158 0.105 0.105 0.053 0.105
  4 0.077 0.154 0.077 0.077 0.077 0.154 0.154 0.077 0.154 0.000 0.000
  5 0.000 0.000 0.000 0.100 0.400 0.200 0.100 0.000 0.100 0.100 0.000
  6 0.000 0.091 0.182 0.000 0.000 0.091 0.000 0.091 0.000 0.091 0.455
  7 0.000 0.118 0.000 0.176 0.059 0.059 0.059 0.059 0.118 0.294 0.059

etc ...用于prop.col和prop.tbl变量。

答案 2 :(得分:0)

这是一个解决方法,但它可以让你看到你所说的交叉表。

  • 首先,在RStudio IDE中,打开一个新的R笔记本。
  • 其次,运行以下代码。 '''{r}'''在文档中运行R代码(请注意,这些是3个后面的刻度而不是单引号,如果我以正确的方式编码它,它就不会正确显示。)

    '''{R}

    库(gmodels) df&lt; - data.frame(id = 1:100,x1 = sample(1:7,size = 100,replace = TRUE),               x2 =样本(0:10,大小= 100,替换= TRUE))

    CT&lt; - CrossTable(df $ x1,df $ x2,prop.r = TRUE,prop.t = TRUE,prop.c = TRUE)

    查看(CT)

    '''

  • 第三:当你看到交叉表的输出时,它会像以前一样疯狂。在输出单元格的“右上角”,您会找到3个选项“x”out,“&lt;&lt;”隐藏/取消隐藏输出,以及在单独的窗口中打开的“带箭头的窗口”。单击以弹出窗口,然后将窗口展开为完整大小。有你的交叉表。

享受:)