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

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

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





Группа: Пользователи
Сообщений: 1202
Регистрация: 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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Игорь
сообщение 5.10.2011 - 15:24
Сообщение #3





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



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

Не уверенный пользователь R, но кое-что из сказанного ниже, возможно, окажется полезным, а для кого-то новым (для кого банальным - прошу прощения).

R - вообще говоря, штука, ориентированная на работу в режиме терминала (командной строки), как и многие другие полезные программы. Пользователи хотят графический интерфейс. Прослойка между терминалом и пользователем называется front-end (GUI front-end). Для R широко известны две таких разработки. Это - упоминавшийся выше R Commander. Более удобным (привычным) может оказаться другой front-end, а именно - RKWard. Тут Вики http://ru.wikipedia.org/wiki/RKWard . Тут сайт http://rkward.sourceforge.net/ . Версия для Windows имеется, но не пробовал. Версия для Ubuntu нормальная, но на русский не переведена. Ставится легко из репозиториев. Новые пакеты добавляются средствами пакета.

Ваша задача упомянутым пакетом решается. Через буфер обмена копирование корректно. Проверено на Calc для Linux. Но и в Windows с Excel должно работать.

Сообщение отредактировал Игорь - 6.10.2011 - 06:56


Signature
Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 5.10.2011 - 17:55
Сообщение #4





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



Ладно если так надо копировать буфер обмена в виндовс, то подойдёт команда

read.delim("clipboard")


Для интеграции в электронные таблицы есть вот это
Код
There is RExcel (available by downloading the CRAN package
RExcelInstaller. It allows to transfer data between R and Excel,
and run R code from within Excel. So you can start with your data in
Excel, let R do an analysis, and transfer the results back to Excel.
You can write VBA macros which do this, but "hidden from exposure",
so the Excel user does not even notice that R is doing the hatd work.
It also has an Excel worksheet function RApply which allows
to call an R function from an Excel cell formula.
=RApply("rfun",A1)
would apply the R function rfun to the value in cell A1.
If the value in A1 changes, Excel will force R to recalculate the formula.

There is a (half hour long) video demo about RExcel
at http://rcom.univie.ac.at/RExcelDemo/

http://rcom.univie.ac.at/ has more information about the project.
For recent information, visit the Wiki on this site.

This site also has the alpha version of an OpenOffice add-in
giving roughly the same functionality.
It is available at
http://rcom.univie.ac.at/download/ROOo/

The main source of information about this project is
the mailing list. You can subscribe also via the project server,
http://rcom.univie.ac.at


Сообщение отредактировал p2004r - 5.10.2011 - 17:59


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
nokh
сообщение 5.10.2011 - 19:43
Сообщение #5





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



Благодарю за информацию! Разделаюсь со срочными делами и начну пробовать:)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Игорь
сообщение 7.10.2011 - 18:35
Сообщение #6





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



Ситуация забавная немного. В Linux (к которой до недавнего времени предъявлялись претензии о якобы обилии работы из командной строки) для установки R, R Commander и RKWard нужно несколько раз ткнуть мышкой, да ввести пароль суперпользователя - все займет несколько минут, затрачиваемых на автоматическое скачивание из Сети. В Windows (как бы изначально предполагающей разные графические возможности) для установки [по крайней мере двух] упомянутых компонент нужно изрядно попотеть в нажимании клавиш и изучении документации.

Сообщение отредактировал Игорь - 7.10.2011 - 18:36


Signature
Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 7.10.2011 - 18:45
Сообщение #7





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



Цитата(Игорь @ 7.10.2011 - 17:35) *
Ситуация забавная немного. В Linux (к которой до недавнего времени предъявлялись претензии о якобы обилии работы из командной строки) для установки R, R Commander и RKWard нужно несколько раз ткнуть мышкой, да ввести пароль суперпользователя - все займет несколько минут, затрачиваемых на автоматическое скачивание из Сети. В Windows (как бы изначально предполагающей разные графические возможности) для установки [по крайней мере двух] упомянутых компонент нужно изрядно попотеть в нажимании клавиш и изучении документации.


я где то с 1999 крайне редко вижу виндовс (на всех моих машинах дома и на работе только дебиан установлен), и попытавшись знакомым поставить всё для комфортной работы с R тоже испытал конкретное неудобство... самое страшное что теперь мне надо повторить подвиг для целой группы аспирантов frown.gif


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

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