Как создать таблицу .csv из выходного результата в R?

#r #csv

#r #csv

Вопрос:

Я запускаю код Flexmix, и он возвращает значение BIC и AIC следующим образом.

     set.seed(1)

    mp8<-initFlexmix(. ~ .|id, data=op18, k=8, model=list(Model_tc1,Model_1), nrep=100)

    BIC(mp2,mp3,mp4,mp5,mp6,mp7,mp8)
    AIC(mp2,mp3,mp4,mp5,mp6,mp7,mp8)


    result
    > BIC(mp2,mp3,mp4,mp5,mp6,mp7,mp8)
             df      BIC
     mp2  50.03105 84912.01
     mp3  78.11906 78081.28
     mp4 108.32396 74303.05
     mp5 137.38793 72677.82
     mp6 165.54544 71368.86
     mp7 190.11087 69935.62
     mp8 194.56414 70693.15
    > AIC(mp2,mp3,mp4,mp5,mp6,mp7,mp8)
             df      AIC
     mp2  50.03105 84496.94
     mp3  78.11906 77433.18
     mp4 108.32396 73404.36
     mp5 137.38793 71538.02
     mp6 165.54544 69995.46
     mp7 190.11087 68358.42
     mp8 194.56414 69079.00
 

Я хотел бы превратить результат в файл Excel или csv для последующего использования. Какие возможности у меня есть?

Комментарии:

1. Посмотрите на использование write.csv .

2. функция приемника может быть полезна rdocumentation.org/packages/base/versions/3.5.3/topics/sink

Ответ №1:

Если ваш набор данных большой, вы можете рассмотреть возможность преобразования вашей таблицы в a data.table , а затем записать ее в .csv с fwrite помощью .

От ?fwrite :

Как ‘write.csv’, но намного быстрее (например, 2 секунды против 1 минуты) и так же гибко. Современные машины почти наверняка имеют более одного процессора, поэтому ‘fwrite’ использует их; во всех операционных системах, включая Linux, Mac и Windows.

data.table это пакет, который позволяет обрабатывать, исследовать и управлять вашими данными. Опять же, из ?data.table :

‘data.table’ наследуется от ‘data.frame’. Он предлагает быстрые и эффективные с точки зрения памяти функции чтения и записи файлов, агрегации, обновления, равнозначные, неэквивалентные, переходные, диапазонные и интервальные соединения в коротком и гибком синтаксисе для ускорения разработки.

Он вдохновлен синтаксисом ‘A [B]’ в R, где ‘A’ — это матрица, а ‘B’ — матрица из 2 столбцов. Поскольку ‘data.table» является «data.frame», он совместим с функциями и пакетами R, которые принимают только «data.frame».

Возможно, вы захотите проверить его vignette(package = "data.table")

Ответ №2:

чтобы сохранить его в формате csv, вы можете использовать write.csv или write.table : write.table немного более гибко. Это может выглядеть так

 write.table(mydata, file = "mycsv.csv", sep = ",", dec = ".", row.names = F)
 

Смотрите ?write.table для получения дополнительной информации.

Чтобы сохранить его в формате xlsx, вы можете использовать openxlsx пакет:

 library(openxlsx)
write.xlsx(mydata, file = "myxlsx.xlsx")
 

Комментарии:

1. Рад, что смог помочь. Пожалуйста, подумайте о принятии ответа