создание красивого вывода в r

Я делаю ряд расчетов из набора данных и хочу отобразить конечные результаты в структурированном и упорядоченном виде в текстовом документе.

До сих пор я пробовал что-то, что действительно запутанно, но вроде работает (см. ниже), но я уверен, что есть лучшие и более элегантные решения. При использовании cbind я получаю метки [,1], [,2] и т. д. поверх своих данных, и они мне не нужны в моем выводе.

  id = c(1, 2,3,4)
  age = c(10, 12, 14, 17)
  gender = c("m", "f", "m", "f")
  dataset = data.frame (id,age, gender)
  attach (dataset)
  space = "+++++++++++++++++++++++++++++++"
  print1 = summary (dataset)
  print2 = cbind("age oldest student", max(age))
  printfull = capture.output(print1, space, print2, space)
  write.table(printfull, "C:/Users/me/Desktop/dataset123.txt")

Спасибо


person Jack Nielson    schedule 16.10.2012    source источник
comment
в чем именно ваш вопрос? Существует множество различных решений: на ум приходят brew, Sweave, Knitr и функция describe Hmisc, хотя некоторые из них предполагают вывод LaTeX, а не обычный текст.   -  person Ben Bolker    schedule 16.10.2012
comment
Мне просто нужен документ, в котором отображаются все мои выходные данные (сводка, максимальные значения, медиана, некоторые расчеты,... в удобочитаемом виде, один расчет ниже предыдущего... желательно с некоторыми метками. Функция Capture.output делает это , который отлично подходит для сводной функции, но дает слишком много нерелевантных вещей, таких как [,1]. Я бы предпочел это в Word или Notepad, а не в LaTex.   -  person Jack Nielson    schedule 16.10.2012
comment
Можете ли вы рассказать нам, почему важно, чтобы это было в текстовом файле? Если вы ищете удобочитаемость для человека, я не уверен, что файлы .txt — ваш лучший выбор. В этом случае я рекомендую Knitr, так как с ним легко работать, но он довольно мощный.   -  person Drew Steen    schedule 16.10.2012
comment
Вы можете зациклить, чтобы сделать несколько документов по трикотажу одновременно? Я делаю анализ нескольких переменных, но я делаю это на 200 наборах данных одинакового размера с разными значениями одновременно.   -  person Jack Nielson    schedule 17.10.2012


Ответы (1)


Вы можете использовать RJSONIO для преобразования ваших объектов r в json.

library('RJSONIO')
toJSON(list(list(1,2,3),1,2,4:5))
person FUD    schedule 16.10.2012
comment
Ха. Я почти уверен, что OP хочет, чтобы человек читал, а не компьютер читал. - person nograpes; 16.10.2012
comment
ну, я думаю, что json с красивым шрифтом очень удобочитаем для человека :), учитывая общий характер проблемы, когда существует множество разных типов. - person FUD; 16.10.2012