Загрузка данных из файла Excel в R или Октаву

Я недавно сделал это на своем проекте с помощью идеи, подобной точка Tyler 1 .
я загружал набор вопросов и выбирал пять наугад. Сортировка была достигнута с помощью IComparer.
aAll вопросы были загружены в список QuestionSorter, который был тогда отсортирован с помощью функция Вида Списка и первые k элементы, где выбрано.

    private class QuestionSorter : IComparable
    {
        public double SortingKey
        {
            get;
            set;
        }

        public Question QuestionObject
        {
            get;
            set;
        }

        public QuestionSorter(Question q)
        {
            this.SortingKey = RandomNumberGenerator.RandomDouble;
            this.QuestionObject = q;
        }

        public int CompareTo(QuestionSorter other)
        {
            if (this.SortingKey < other.SortingKey)
            {
                return -1;
            }
            else if (this.SortingKey > other.SortingKey)
            {
                return 1;
            }
            else
            {
                return 0;
            }
        }
    }

Использование:

    List unsortedQuestions = new List();

    // add the questions here

    unsortedQuestions.Sort(unsortedQuestions as IComparer);

    // select the first k elements

5
задан finefoot 31 May 2016 в 08:12
поделиться

5 ответов

Да, вот как :

Пользователи Windows могут использовать odbcConnectExcel в пакете RODBC. Это может выбрать строки и столбцы из любого листа в файле электронной таблицы Excel (по крайней мере, из Excel 97–2003, в зависимости от ваших драйверов ODBC: при прямом вызове odbcConnect можно прочитать версии обратно в Excel 3.0). Версия odbcConnectExcel2007 будет читать форматы Excel 2007, а также более ранние (при условии, что драйверы установлены: см. RODBC).

4
ответ дан 13 December 2019 в 05:39
поделиться

Другой (и даже переносимый) вариант - это read.xls в пакете gdata . Он доступен для разных платформ, поскольку использует базовый код Perl для синтаксического анализа, чтения, ... данных из файла xls в файл csv, который затем читается. Все необходимые пакеты Perl предоставляются gdata .

Пакет Octave можно легко создать, используя тот же трюк.

3
ответ дан 13 December 2019 в 05:39
поделиться

На ваш вопрос уже дан ответ. На случай, если это поможет в будущем, действительно полезным ресурсом для таких вопросов является документ R Data Import / Export , который охватывает множество полезных API, пакетов, советов и т. Д. Для доступа к данным из некоторых общие базы данных и форматы файлов.

Например, есть раздел Excel , который охватывает большую часть уже предоставленных ответов.

Еще один полезный совет - попробовать поисковую систему справки R. Например, попробуйте выполнить одно из следующих действий в приглашении R:

> ??xls
> ??excel

EDIT: BTW, ?? xls - это сокращение от help.search ("xls") .

.
3
ответ дан 13 December 2019 в 05:39
поделиться

Самый простой способ - представить данные в виде CSV-файла, а затем использовать read.csv () для чтения данных. Имейте в виду, что когда вы читаете данные, R будет читать символьные строки и преобразовывать их в множители. Это может стать проблемой при попытке подмножества данных и т. Д.

В качестве альтернативы, если вы хотите прочитать его как собственный файл Excel, вы можете использовать пакет RODBC .

library('RODBC')
yourData <- sqlFetch(odbcConnectExcel("yourData.xls"), 
  sqtable = "nameOfSheet",
  na.strings = "NA", 
  as.is = TRUE)                    
odbcCloseAll()
1
ответ дан 13 December 2019 в 05:39
поделиться

Еще более простым решением для Windows является использование пакета xlsReadWrite . Нет необходимости в Perl, просто установите его как пакет R, и вы сможете читать и записывать файлы Excel сколько душе угодно.

1
ответ дан 13 December 2019 в 05:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: