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
Любая помощь будет оценена. Я также открыт для изучения других пакетов, которые приводят к аналогичным результатам. Спасибо!
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
пакет для просмотра данных в окне терминала. В противном случае вы можете разрезать его шаг за шагом, чтобы увидеть кадр данных. Позвольте мне знать, если это помогает.