Састављање и покретање Р из командне линије
Два начина за покретање Р програма су: Р скрипта, која се широко користи и најпожељнија је, а други је Р ЦМД БАТЦХ, то није уобичајена команда. Можемо их позвати директно из командне линије или било ког другог планера послова.
Ове наредбе можете назвати из љуске уграђене у ИДЕ, а данас РСтудио ИДЕ долази са алатима који побољшавају или управљају функцијама Р скрипта и Р ЦМД БАТЦХ.
функција соурце () унутар Р добра је алтернатива коришћењу командне линије. Ова функција такође може позвати скрипту, али да бисте користили ову функцију, морате бити у Р окружењу.
Уграђени скупови података на Р језику
Да бисте пописали скупове података који су уграђени у Р, користите наредбу дата (), затим пронађите оно што желите и користите име скупа података у функцији дата (). Подаци попут корисника (име функције).
Прикажи скупове података у Р
Знак питања (?) може се користити за тражење помоћи за скупове података.
Да бисте проверили да ли постоји све, користите резиме ().
Плот () је такође функција која се користи за цртање графова.
Направимо тест скрипту и покренимо је. Креирај п1.Р датотеку и сачувајте је у матичном директоријуму са следећим садржајем:
Пример кода:
# Једноставан здрави светски код у Р испису („Хелло Ворлд!") принт (" ЛинукХинт ") принт (5 + 6)
Трчање Хелло Ворлд
Р Оквири података
За чување података у табелама користимо структуру у Р која се назива а Оквир података. Користи се за навођење вектора једнаке дужине. На пример, следећа променљива нм је оквир података који садржи три вектора к, и, з:
к = ц (2, 3, 5) и = ц ("аа", "бб", "цц") з = ц (ТРУЕ, ФАЛСЕ, ТРУЕ) # нм је оквир података нм = дата.оквир (н, с, б)
Постоји концепт тзв УграђениОквири података и у Р. мтцарс је један такав уграђени оквир података у Р, који ћемо користити као пример, за наше боље разумевање. Погледајте доњи код:
> мтцарс мпг цилиндар дисп хп драт вт… Мазда РКС4 21.0 6 160 110 3.90 2.62… аутобус РКС4 Ваг 21.0 6 160 110 3.90 2.88… Датсун 710 22.8 4 108 93 3.85 2.32…
мтцарс булитин датафраме
Заглавље је горњи ред табеле који садржи имена колона. Редови података донирају се сваком хоризонталном линијом; сваки ред почиње именом реда, а затим следе стварни подаци. Члан података у реду назива се ћелијом.
Координате редова и ступаца унели бисмо у један оператер квадратне заграде '[]' да бисмо преузели податке у ћелији. За одвајање координата користимо зарез. Редослед је важан. Координата започиње редом, а затим зарезом, а затим се завршава колоном. Вредност ћелије 2нд ред и 1ст колона је дата као:
> мтцарс [2, 2] [1] 6
Уместо координата можемо користити и име реда и колоне:
> мтцарс ["Бус РКС4", "мпг"] [1] 6
Нров функција се користи за проналажење броја редова у оквиру података.
> нров (мтцарс) # број редова података [1] 32
нцол функција се користи за проналажење броја колона у оквиру података.
> нцол (мтцарс) # број колона [1] 11
Р Програмске петље
Под неким условима, користимо петље када желимо да аутоматизујемо неки део кода или желимо да поновимо низ упутстава.
За петљу у Р
Ако желимо да ове године одштампамо информације више пута.
принт (пасте ("Година је", 2000)) "Година је 2000" принт (пасте ("Година је", 2001)) "Година је 2001" принт (пасте ("Година је", 2002) ) Принт "Година је 2002" (налепи ("Година је", 2003.)) "Одштампај годину" налепи (налепи ("Година је", 2004.)) "Одштампај годину Година је ", 2005.))" Година је 2005. "
Уместо да нашу изјаву понављамо изнова и изнова ако користимо за петља биће нам много лакше. Овако:
за (година у ц (2000,2001,2002,2003,2004,2005)) принт (пасте ("Година је", година)) "Година је 2000" "Година је 2001" "Година је 2002. "" Година је 2003. "" Година је 2004. "" Година је 2005. "
Док је Петља у Р
вхиле (израз) изјава
Ако је резултат израза ИСТИНА, уноси се тело петље. Изводи унутар петље се изводе и ток се враћа да поново процени израз. Петља ће се понављати док израз не добије вредност ФАЛСЕ, у том случају петља излази.
Пример вхиле Лооп:
# и се иницијално иницира на 0 и = 0 док (и<5) print (i) i=i+1 Output: 0 1 2 3 4
У горњој вхиле петљи израз је и<5која мери на ТАЧНО пошто је 0 мање од 5. Дакле, тело петље се извршава и и је излаз и увећан. Важно је повећати и унутар петље, тако да ће у неком тренутку некако испунити услов. У следећој петљи вредност и је 1, а петља се наставља. Понављаће се до и једнако 5 када је услов 5<5 reached loop will give FALSE and the while loop will exit.
Р функције
Да бисте креирали функцију користимо функцију директиве (). Конкретно, они су Р објекти класе функцију.
ф <- function() ##some piece of instructions
Значајно је да се функције могу преносити на друге функције као аргументи и функције могу бити угнежђене, што вам омогућава да одредите функцију унутар друге функције.
Функције опционо могу имати неке именоване аргументе који имају подразумеване вредности. Ако не желите подразумевану вредност, можете да подесите њену вредност на НУЛЛ.
Неке чињенице о аргументима функције Р:
- Аргументи прихваћени у дефиницији функције су формални аргументи
- Функција формала може вратити листу свих формалних аргумената функције
- Не користи сваки позив функције у Р све формалне аргументе
- Аргументи функције могу имати задане вредности или можда недостају
# Дефинисање функције: ф <- function (x, y = 1, z = 2, s= NULL)
Израда модела логистичке регресије са уграђеним скупом података
Тхе глм () функција се користи у Р како би се уклопила у логистичку регресију. глм () функција је слична функцији лм (), али глм () има неке додатне параметре. Његов формат изгледа овако:
глм (Кс ~ З1 + З2 + З3, породица = бином (веза = ”логит”), подаци = моји подаци)
Кс зависи од вредности З1, З2 и З3. Што значи да су З1, З2 и З3 независне променљиве, а Кс је зависна функција укључује породицу додатних параметара и има вредност бином (линк = “логит”) што значи да је функција везе логит, а дистрибуција вероватноће регресионог модела биномна.
Претпоставимо да имамо пример студента где ће добити пријем на основу два резултата испита. Скуп података садржи следеће ставке:
- резултат _1- Резултат-1 резултат
- резултат _2- Резултат -2 резултат
- примљено- 1 ако је примљено или 0 ако није примљено
У овом примеру имамо две вредности 1 ако је студент добио упис и 0 ако није добио пријем. Морамо да генеришемо модел за предвиђање да ли је студент добио пријем или не,. За дати проблем, прихваћени се сматра зависном променљивом, екам_1 и екам_2 сматрају се независним променљивим. За тај модел је дат наш Р код
> Модел_1<-glm(admitted ~ result_1 +result_2, family = binomial("logit"), data=data)
Претпоставимо да имамо два резултата ученика. Резултат-1 65% и резултат-2 90%, сада ћемо предвидети да студент добије пријем или не, за процену вероватноће студента да добије пријем наш Р код је као испод:
> ин_фраме<-data.frame(result_1=65,result_2=90) >предвиђање (Модел_1, ин_фраме, типе = "респонсе") Излаз: 0.9894302
Горе наведени излаз показује нам вероватноћу између 0 и 1. Ако је онда мање од 0.5 то значи да студент није добио пријем. У овом стању биће ЛАЖНО. Ако је веће од 0.5, услов ће се сматрати ИСТИНИТИМ што значи да је студент добио пријем. Морамо да користимо функцију роунд () за предвиђање вероватноће између 0 и 1.
Р код за то је као што је приказано доле:
> округли (предвидети (Модел_1, ин_фраме, типе = "респонсе")) [/ цоде] Излаз: 1
Студент ће добити пријем јер је излаз 1. Штавише, на исти начин можемо предвидети и друга запажања.
Коришћење модела логистичке регресије (бодовање) са новим подацима
По потреби модел можемо сачувати у датотеци. Р код за наш модел воза изгледаће овако:
модел <- glm(my_formula, family=binomial(link='logit'),data=model_set)
Овај модел се може сачувати помоћу:
сачувај (датотека = "име датотеке", датотека_датотеке)
Датотеку можете користити након што је сачувате, користећи тај мир Р кода:
учитавање (датотека = "име датотеке")
За примену модела за нове податке можете користити овај ред кода:
модел_сет $ пред <- predict(the_model, newdata=model_set, type="response")
БЕЛЕШКА: Скуп модела_ не може се доделити ниједној променљивој. За учитавање модела користићемо функцију лоад (). Нова запажања неће променити ништа у моделу. Модел ће остати исти. Стари модел користимо за предвиђање нових података како не бисмо ништа променили у моделу.
Закључак
Надам се да сте видели како Р програмирање функционише на основни начин и како можете брзо да кренете у акцију радећи машинско учење и кодирање статистика са Р.