вторник, 18 августа 2015 г.

Что такое ядро языка? Карта изучения

Что такое ядро языка?

У современных языков программирования (Java, С#, Python, Ruby, PHP, JavaScript, С++, R) есть нечто общее. Это общее мы назовём ядром. Если овладеть ядром, то все языки будут учиться гораздо легче и быстрее. Вот картинка с составляющими ядра:
Для некоторых языков, некоторые части, изображенные на рисунке, могут отсутствовать или присутствовать. Например, в PHP нет понятия объявления функции, а есть только определение функции. Некоторые языки имеют реализацию дополнительных понятий, например, шаблоны в С++.

Изучение ядра - первый шаг к овладению R

Ядро языка это основа. Чтобы хорошо владеть чем-то нужна отличная основа, база, то на чём будет строиться всё остальное. Поэтому мы займёмся изучением ядра. Рисунок выше будет картой для последующих постов. Кстати, эту карту можно использовать и для изучения других языков.

вторник, 11 августа 2015 г.

Получение информации о среде

Функция sessionInfo выдаёт версию, ОС, настройки локали (англ. locale, языковые настройки), список включённых пакетов:
> sessionInfo()
R version 3.2.1 (2015-06-18)
Platform: x86_64-unknown-linux-gnu (64-bit)
Running under: Arch Linux

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8   
 [6] LC_MESSAGES=en_US.UTF-8    LC_PAPER=en_US.UTF-8       LC_NAME=C                  LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] tools_3.2.1

Переменная R.version (тип list) содержит подробную информацию об ОС и версии:
> R.version
               _                           
platform       x86_64-unknown-linux-gnu    
arch           x86_64                      
os             linux-gnu                   
system         x86_64, linux-gnu           
status                                     
major          3                           
minor          2.1                         
year           2015                        
month          06                          
day            18                          
svn rev        68531                       
language       R                           
version.string R version 3.2.1 (2015-06-18)
nickname       World-Famous Astronaut    
Вместо R.version, можно использовать переменную version, разницы нет.
Переменная R.version.string (тип character) хранит строку с версией:
> R.version.string
[1] "R version 3.2.1 (2015-06-18)"

Только номер версии можно получить с помощью функции getRversion:
> getRversion()
[1] ‘3.2.1’

Работа с репозиториями пакетов

Получение списка репозиториев

Пакеты устанавливаются из репозиториев. Список репозиториев, используемых для скачки/установки пакетов, можно получить с помощью функции getOption:
getOption("repos")
Пример выполнения этой команды:
> getOption("repos")
                     CRAN
"http://cran.rstudio.com"
attr(,"RStudio")
[1] TRUE
Здесь, в результате выполнения, можно увидить название репозитория - CRAN и его адрес http://cran.rstudio.com.