Powered By Blogger

четверг, 28 мая 2015 г.

Пост №2. Про R и прокрастинацию

Пока рано говорить о том, что я стала менее ленивой жопой, чем обычно, но сегодня я явно осознала сколько же проболбала времени на страдание херней и зависание в тупые сериальчики. Поэтому сегодня я горжусь собой больше, чем вчера. Сегодня я читала про R и даже немного упражнялась в нём.  Преступим. 

1. Оказывается в R есть пакеты для СУБД типа MySQL и sqlite. Пиу-пиу-пиу!!! Идеально! В принципе, это то, что мне надо! Пакеты RSQLite, sqldf и они могут вызываться прямо из R.... Сейчас погуглим.... О-о-о-о! Вкусняшка! БД и R.Что может быть лучше?!

Так, ну как писать запросы БД есть вот тут, например: http://alexandre-putt.livejournal.com/9837.html
Ссылочка так себе, потом запилю лучше, ибо это пока черновой вариант. Ну, положим, я помню, как писать запросы sql.  А здесь http://aspirantura.spb.ru/forum/showthread.php?p=301258 есть инфа, как прикрутить одно к другому. Тестим...  Конечно, в базовой Rstudio нет нужного мне пакета. Загружаем:

>install.packages("RSQLite") #загрузила пакет. 

Пакет загрузился в tmp, что меня нихрена не радует. Надо бы кильнуть пакет  и 
перезгрузить по-нормальному.   Ладно, разберемся с гибридом эр и эскуэля потом, а 
пока Code School! 
Code School! Write in R! 
 
Про игры с примитивными объектами писать не буду, скажу лишь, что строки в языке находятся внутри двойных кавычек, а присваивать можно как знаком равенства, так и стрелкой. Причем, не важно в какую сторону...

> x<-c(1, 4,0.1) # c() - from "combine"
> x->a
> a
[1] 1.0 4.0 0.1

Если нужно повторить что-то несколько раз, например, скопировать несколь раз переменную, используем функцию rep(..., ...) и устанавливаем количество повторений
to repeat a value 3 times


> rep("Yo ho!", times = 3)
[1] "Yo ho!" "Yo ho!" "Yo ho!"

За справкой можно обращаться различными способами:
> help(dbWrite)
> ??dbWrite
> ?dbWrite
 
Найти пример можно: > example(min)

Последовательность команд можно записывать. Записанные файлы можно вызывать из текущей директории  с помощью  list.files function. > list.files()
[1] "bottle1.R" "bottle2.R"

Чтобы запустить скрипт Используем команду:
> source("bottle1.R")
[1] "This be a message in a bottle1.R!"

Типы данных. 
1. функция  c() объединяет все свои переменные в вектор. если переменные разных типов, они преобразовываются к переменным одного типа. 
 > x<-c(1, 4,0.1)
> c(1, TRUE, "three") [1] "1" "TRUE" "three"
Индексация всех векторов, массивов и прочего начинается с 1!
вектор-последовательности> 5:9
[1] 5 6 7 8 9
> seq(5, 9)
[1] 5 6 7 8 9
> seq(5, 9, 0.5) #where 0.5 - step [1] 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0

Есть переменная Sentence() - это... сравномо с объектом типа string. Короче, это строка, содержащая в себе несколько слов. > sentence <- c('walk', 'the', 'plank')
> sentence[3]
[1] "plank"

Меняем значение с помощью:  
> sentence[3] <- "dog"
> sentence # показываем переменную: 
[1] "walk" "the"  "dog" 

Можем добавить значение:

> sentence[4] <- 'to'
[1] "walk" "the"  "dog"  "to" 

You can use a vector within the square brackets to access multiple values. Try getting the first and third words

> sentence[c(1, 3)]
[1] "walk" "dog" 

[1] "walk" "the"  "dog"  "to"  
> sentence [c(2,4)]
[1] "the" "to" 
> sentence [1:3]
[1] "walk" "the"  "dog"
 
 
Cсылочки:  

http://rpackages.ianhowson.com/cran/RSQLite/man/dbReadTable-SQLiteConnection-character-method.html

http://aspirantura.spb.ru/forum/showthread.php?t=10501&page=3 
http://cran.r-project.org/web/packages/RSQLite/RSQLite.pdf
http://www.ibm.com/developerworks/ru/library/dm-1402db2andr/
http://tryr.codeschool.com/levels/2/challenges/16


Комментариев нет:

Отправить комментарий