Импорт/экспорт даннных в/из R, проблемы новичка |
Здравствуйте, гость ( Вход | Регистрация )
Импорт/экспорт даннных в/из R, проблемы новичка |
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 |
|
5.10.2011 - 10:58
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
Поэтому обращаюсь с вопросами к уверенным пользователям 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), но большие по объему работы по другому не сделать. |
|
5.10.2011 - 15:24
Сообщение
#3
|
|
Группа: Пользователи Сообщений: 1114 Регистрация: 10.04.2007 Пользователь №: 4040 |
Поэтому обращаюсь с вопросами к уверенным пользователям 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 Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
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 |
|
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 Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
7.10.2011 - 18:45
Сообщение
#7
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
Ситуация забавная немного. В Linux (к которой до недавнего времени предъявлялись претензии о якобы обилии работы из командной строки) для установки R, R Commander и RKWard нужно несколько раз ткнуть мышкой, да ввести пароль суперпользователя - все займет несколько минут, затрачиваемых на автоматическое скачивание из Сети. В Windows (как бы изначально предполагающей разные графические возможности) для установки [по крайней мере двух] упомянутых компонент нужно изрядно попотеть в нажимании клавиш и изучении документации. я где то с 1999 крайне редко вижу виндовс (на всех моих машинах дома и на работе только дебиан установлен), и попытавшись знакомым поставить всё для комфортной работы с R тоже испытал конкретное неудобство... самое страшное что теперь мне надо повторить подвиг для целой группы аспирантов |
|