Подтвердить что ты не робот

Как читать файл .arff с R?

Есть ли способ сделать это?

Да, я новичок в R.

4b9b3361

Ответ 1

read.arff в пакете foreign считывает данные из файлов формата файлов атрибутов Weka (ARFF).

Обновить: на CRAN появился новый пакет:

farff: Быстрое чтение и запись файлов в формате ARFF

Ответ 2

В общем случае ответ на такие вопросы можно найти через пакет sos, который обращается к полнотекстовому поиску всех пакетов на CRAN.

install.packages("sos")
library("sos")
findFn("arff")

находит функции в пакетах foreign (как указано выше) и RWeka. Поскольку foreign является рекомендуемым пакетом, он будет установлен по умолчанию в вашей системе. Следовательно, вы нашли бы ответ с помощью

help.search("arff")

в первую очередь, без установки пакета sos. sos по-прежнему стоит иметь время, когда строка, которую вы ищете, не находится в метаданных (заголовок, ключевые слова, псевдоним и т.д.), что означает, что поиск help.search или нет в пакете, который у вас уже есть установленный на вашей системе (так же). (Просмотр справочника R Data Import/Export, который также поставляется вместе с вашей системой, в целом полезен, но не нашел бы ответа на этот вопрос...)

Возможно, было бы полезно узнать о версии RWeka во избежание того, что версия в foreign (которую вы должны попробовать сначала) по какой-то причине сбой.

Ответ 3

Даже если этот вопрос уже дан, я понимаю, что есть еще одно заслуживающее внимания решение. Проверьте пакет RWeka, который позволяет читать и писать файлы arff. Плюс это дает вам обертку для функций Weka. Таким образом, вы можете использовать функциональность Weka, не устанавливая сам Weka (хотя он устанавливает .jars). См. Также dokuread.arff.

Ответ 4

Если вам нужны только данные, а не отношения, вы можете просто использовать:

read.csv("data.arff", header=FALSE, comment.char = "@")

Ответ 5

Самый простой способ сделать это - использовать библиотеку "RWeka", которая имеет функцию read.arff(), которая читает файлы .arff.

library(RWeka)
test=read.arff("../Test/test.arff")

Надеюсь, что это поможет.