Форум врачей-аспирантов

Здравствуйте, гость ( Вход | Регистрация )

> Импорт/экспорт даннных в/из R, проблемы новичка
nokh
сообщение 5.10.2011 - 08:56
Сообщение #1





Группа: Пользователи
Сообщений: 1219
Регистрация: 13.01.2008
Из: Челябинск
Пользователь №: 4704



Основная сложность, с которой сталкиваешься на пути освоения R - не командная строка, а отсутствие привычного Spreadsheet, в котором переменные представлены в колонках и, скажем, можно из двух колонок скомбинировать третью и сразу увидеть результат, оценить возможность ошибки во введённой формуле. Читать данные из csv файлов неудобно - их нужно ещё правильно подготовить. Поэтому ранее для ввода данных пользовался пакетом Rcmdr - просто вставлял в его Spreadsheet скопированные из Excel данные. Проблема была в том, что данные сохранялись в каком-то собственном формате R и цифры нельзя было посмотреть в каком-нибудь простейшем текстовом редакторе. Сейчас пакет Rcmdr раздулся настолько, что потерял всю свою ценность - выкачивает из интернета и доустанавливает просто бесчисленное количество пакетов, которые мне никогда в жизни не понадобятся. Поэтому если прижимает - короткие ряды данных просто набиваю заново непосредственно в R. Попытки срастить с R процессоры электронных таблиц Excel и Calс, про которые писал Игорь на данном форуме, а также то что сам нашёл в интернете - неудобные и/или неработоспособные штуки.

Поэтому обращаюсь с вопросами к уверенным пользователям R:
Какой способ представляется вам оптимальным для ввода и редактирования данных в R?
Как удобнее забрать результаты и вставить, скажем, в Excel?

Например, хотел бы сделать такую связку операций:
1) скопировать данные в программе Excel
2) вставить в R
3) выполнить преобразование Бокса-Кокса (например, в boxcox из mass или чем-то получше)
4) увидеть и выписать в тетрадь значение лямбда
5) вставить преобразованные данные во второй столбец за исходными
6) скопировать оба столбца в программе R
7) вставить в Excel
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
 
Открыть тему
Ответов
p2004r
сообщение 5.10.2011 - 10:58
Сообщение #2





Группа: Пользователи
Сообщений: 1091
Регистрация: 26.08.2010
Пользователь №: 22699



Цитата(nokh @ 5.10.2011 - 07:56) *
Поэтому обращаюсь с вопросами к уверенным пользователям R:
Какой способ представляется вам оптимальным для ввода и редактирования данных в R?
Как удобнее забрать результаты и вставить, скажем, в Excel?


В R вполне удобно реализована работа с табличными данными. Для этого существует тип объекта data.frame. Для операции над его колонками достаточно написать формулу включающую номера или имена колонок и вычисление будет выполненно

например cbind(data, data$a+data$b) добавит колонку с данным простым результатом.

Можно модифицировать данные прямо по месту data$a[index]<- некое_преобразование_по_a[index].

Можно просто открыть любой объект R в редакторе и отредактировать, для этого есть ?edit. Если указать какой то продвинутый блокнот в виндовс то будет вполне удобно. Применять для сохранения изменений data<-edit(data). Есть сокращенние fix(data).


Но наибольший профит для исследователя представляет литературное программирование. Это когда вы просто пишете статью в любимом редакторе (R поддерживает LaTeX, опенофис и ворд), вставляя свои манипуляции с данными прямо в виде команд R. Затем даете команду вычислить документ и получаете готовый отчет (или статью) с подставленными вместо команд результатами вычисления (включая грамотно вставленные рисунки, таблицы, отдельные числа в тексте). Сразу возникает возможность проводить крайне сложные много дневные анализы данных, требующие исследования многих вариантов. Внесение любых поправок и исправление ошибок моментально отражается в готовом типографского качества отчете. Ну и у вас всегда на руках полностью работающий и на 100% актуальный анализ данных.

Безусловно теряется интерактивность работы в интерпретаторе (так называемый repl), но большие по объему работы по другому не сделать.


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

Сообщений в этой теме


Добавить ответ в эту темуОткрыть тему