Я пытаюсь импортировать данные (файл .ods), и я знаю, как импортировать .csv,.xls и т.д., Но я все время прячу. Я попробовал это с пакетом Gnumeric, но R говорит мне, что нужная программа 'ssconvert' не может быть найдена.
Как импортировать .ods?
Ответ 1
Я написал пакет с именем readODS
котором есть функция read.ods
которая возвращает файлы data.frames
виде data.frames
(список data.frames
, по одному на лист)
Он доступен на CRAN, смотрите здесь !
Источник и сообщения об ошибках здесь: https://github.com/chainsawriot/readODS
Ответ 2
У меня была точная проблема с Ubuntu Linux. Это печально очевидно:
sudo apt-get install gnumeric
Как бы то ни было, у меня было множество устаревших пакетов, и я пошел через кучу, чтобы обновить их. Для библиотеки gnumeric
требуется библиотека XML
, а моя установка библиотеки XML
была построена на 2.14, а мой R не загрузил ничего, что было построено до 3.0. Я не думаю, что это ваша проблема, но если это решение выше не работает, возможно, вы также можете проверить, что ваши пакеты обновлены. Все, что я установил через sudo
, нужно было удалить с помощью sudo
, или я получил ошибки разрешений.
Это печально очевидно, потому что сообщение об ошибке
Ошибка в read.gnumeric.sheet(file = fname, head = TRUE, sheet.name = "Sheet1" ): Обязательная программа 'ssconvert' не найдена.
Чтобы подчеркнуть это, документация пакета на http://cran.at.r-project.org/web/packages/gnumeric/gnumeric.pdf говорит
Требуется внешняя программа "ssconvert" (обычно устанавливается с "gnumeric" (http://projects.gnome.org/gnumeric/) в "PATH".
Как вы получаете ssconvert
? Опять же, разочаровывающе очевидно: он обычно устанавливается с gnumeric. Перейдите в командную строку и введите ssconvert
, и он напомнит вам, что:
user @Компьютер: ~ $ssconvert
В настоящее время программа 'ssconvert' не установлена. Вы можете установить его, набрав: sudo apt-get install gnumeric
Я проверил, ssconvert
не находится в пакетах зависимостей (например, gnumeric-common
), он находится в gnumeric
, поэтому вам нужно установить полный пакет gnumeric
:
sudo apt-get install gnumeric
Ответ 3
Я не пробовал, но пакет ROpenOffice выглядит так, как будто он может выполнить задание: http://www.omegahat.org/ROpenOffice/
Ответ 4
Короткий ответ: установите свои инструменты в Linux, возможно, на виртуальной машине, а затем работайте с gnumeric library. Работа с library(gnumeric)
в Linux так же просто, как установка gnumeric в вашей системе, а затем установка gnumeric пакета в среде R, которую вы используете.
Оказывается, это сложно установить на Windows или Mac.
Mac OSx
Чтобы установить то же самое в Mac OSX, это серьезная проблема. Вам нужно будет получить gnumeric (приложение для электронных таблиц) через macports, что означает установку xcode, а затем macports, fink или homebrew. Это крупная операция, если у вас нет привычки устанавливать программное обеспечение, перенесенное с Linux. Я знаю, что я не могу ожидать, что от нынешних пользователей я пишу R-код для.
Окно
Вы могли бы подумать, что в Windows это проще, так как есть , и он устанавливает ssconvert.exe
в папку приложения, Но установить переменную PATH, чтобы найти это приложение ssconver.exe, по-видимому, недостаточно. Проблема "не удается найти ssconvert" заменяется другими проблемами чтения таблиц. Это, конечно, не ведет себя так же, как в Linux.
Для ROpenOffice что-то подобное является основой для проблем. Требуется пакет Rcompression, но это не пакет R, а технология сжатия, которая должна быть доступна на системном уровне. Установка этого на windows/mac не кажется простой, поэтому вы получаете аналогичные проблемы с gnumeric.
Это настоящий позор, поскольку .ods promises должен быть (относительно) приятным промежуточным форматом, чтобы избежать многих проблем с данными в форматах файлов Excel (которых их слишком много) или экспорта Excel (Excel неспособен последовательно работать с текстовыми форматами, такими как csv между os, no utf-8 и т.д.).