Как создать вложенную таблицу в R? - PullRequest
3 голосов
/ 30 ноября 2011

Я знаю, что есть способ легко сделать это, используя пакет ... Я нашел пакет пару месяцев назад и сделал это тогда. Однако в то время я не записывал ссылку, и теперь я не могу найти решение снова для моей жизни!

Мой вопрос: как создать вложенную таблицу в R ? Например, у меня есть таблица данных лиц. Каждый ряд - это другой человек. Каждый столбец содержит переменную, такую ​​как возраст, пол, рост и т. Д.

Я знаю, что с помощью команды table я могу сделать что-то вроде этого: table (data $ sex, data $ ageCategory).

Это будет таблица размером 2 x 2 с подсчетом внутри.

Однако я хотел бы создать вложенную таблицу, аналогичную приведенной здесь (игнорируйте последний столбец с итогами): http://psycnet.apa.org/journals/ror/32/2/images/ror_32_2_199_tbl1a.gif

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

Я нашел пакет, который сделал это легко, и теперь я не могу найти его снова!

Спасибо всем, кто может помочь. Это несколько глупый вопрос, но я подумал, что мне здесь больше повезет. Возможно, «вложенная таблица» не совсем подходит для этого.

Ответы [ 2 ]

3 голосов
/ 30 ноября 2011

Пример набора данных (который всегда полезно использовать в вашем вопросе):

dat = data.frame(value = runif(100),
                 age = round(runif(100, min = 9, max = 11)) , 
                 gender = sample(c("Male", "Female"), 100, replace = TRUE), 
                 school = sample(c("Public", "Private"), 100, replace = TRUE))

А теперь создайте что-то полезное в соответствии с примером таблицы, которую вы разместили:*

А чтобы изготовить стол для латекса, взгляните на пакет xtable.Для Word и т. Д., Вероятно, проще всего выполнить некоторые ручные операции с выводом count.

2 голосов
/ 30 ноября 2011

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

counts <- with(airquality, table(
  OzCategory = cut(airquality$Ozone, seq(0, 180, 20)),
  Month,
  TempHi = Temp > 75
))
print(counts, zero.print = ".")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...