R - Стол слишком большой, чтобы поместиться в окне консоли?

Прежде всего, отказ от ответственности: я - пользователь Stata, пытающийся полностью сделать "прыжок" к R (хотя и медленно).

Я делал несколько простых кросс-таблиц, когда увидел, что один из них просто не подходит под мой размер консоли. В Stata, используя те же данные и те же переменные, кросс-таблица идеально подходит. Тем не менее, в R все становится очень грязно.

Стол 10х10. Воспроизводимый пример ниже:

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 = огромный_номер") больший пробел, но это было безрезультатно.

Некоторые другие темы не очень помогли мне. Я не мог найти ничего, что напрямую связано с моей проблемой. Примеры тем:

Как мне разместить очень широкий grid.table или tableGrob, чтобы поместиться на странице PDF?

Автоматическая настройка ширины таблицы LaTeX для соответствия pdf с использованием knitr и Rstudio

R-LaTeX Широкий стол

Любая помощь будет оценена. Я также открыт для изучения других пакетов, которые приводят к аналогичным результатам. Спасибо!

3 ответа

Решение

Вызов 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

и т.д... для переменных prop.col и prop.tbl.

Это обходной путь, но он даст вам возможность увидеть кросс-таблицу, как вы заявили.

  • Сначала в RStudio IDE откройте новый R Notebook.
  • Во-вторых, запустите код ниже. '''{R}' '' запускает R-код в документе (обратите внимание, что это 3 обратных тика, а не одинарные кавычки, он не будет отображаться правильно, если я правильно его кодирую).

    '''{р}

    библиотека (модели) df<- data.frame (id = 1: 100, x1 = образец (1: 7, размер = 100, заменить = ИСТИНА), x2 = образец (0:10, размер = 100, заменить = ИСТИНА))

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

    Просмотр (КТ)

    """

  • Третье: когда вы получите / увидите вывод своей кросс-таблицы, она будет выглядеть так же безумно, как и раньше. В "верхнем правом" углу выходной ячейки вы найдете 3 опции "x" out, "<<" скрыть / показать вывод и "окно со стрелкой", которое открыто в отдельном окне. Нажмите, чтобы открыть окно, затем разверните окно до полного размера. Есть ваша кросс-таблица.

Наслаждаться:)

Проверьте эти темы: Это для латексного создания PDF. Это может помочь вам. Для того, чтобы войти в терминал, для проверки столбцов используйте str(columns)или вы можете использовать data.table пакет для просмотра данных в окне терминала. В противном случае вы можете разрезать его шаг за шагом, чтобы увидеть кадр данных. Позвольте мне знать, если это помогает.

Другие вопросы по тегам