Компиляция и запуск R из командной строки
Есть два способа запуска программ R: сценарий R, который широко используется и является наиболее предпочтительным, и второй - R CMD BATCH, это не часто используемая команда. Мы можем вызывать их прямо из командной строки или любого другого планировщика заданий.
Можно предположить, что эти команды можно вызывать из оболочки, встроенной в среду IDE, и в настоящее время в среде IDE RStudio есть инструменты, которые улучшают сценарий R и функции R CMD BATCH или управляют ими.
Функция source () внутри R - хорошая альтернатива использованию командной строки. Эта функция также может вызывать скрипт, но для использования этой функции вы должны находиться в среде R.
Наборы данных встроенного языка R
Чтобы вывести список наборов данных, встроенных в R, используйте команду data (), затем найдите то, что вы хотите, и используйте имя набора данных в функции data (). Как данные (имя функции).
Показать наборы данных в R
Знак вопроса (?) можно использовать для запроса помощи для наборов данных.
Чтобы проверить все, используйте summary ().
Plot () - это также функция, которая используется для построения графиков.
Создадим тестовый скрипт и запустим его. Создавать p1.р файл и сохраните его в домашнем каталоге со следующим содержимым:
Пример кода:
# Простой код hello world в R print ("Hello World!") print (" LinuxHint ") print (5 + 6)
Запуск Hello World
Кадры данных R
Для хранения данных в таблицах мы используем структуру в R, называемую Фрейм данных. Он используется для перечисления векторов одинаковой длины. Например, следующая переменная nm - это фрейм данных, содержащий три вектора x, y, z:
x = c (2, 3, 5) y = c ("aa", "bb", "cc") z = c (TRUE, FALSE, TRUE) # nm - фрейм данных nm = data.кадр (n, s, b)
Есть концепция под названием ВстроенныйФреймы данных в R тоже. mtcars - один из таких встроенных фреймов данных в R, который мы будем использовать в качестве примера для лучшего понимания. См. Код ниже:
> mtcars mpg cyl disp hp drat wt… Mazda RX4 21.0 6 160 110 3.90 2.62… автобус RX4 Wag 21.0 6 160 110 3.90 2.88… Datsun 710 22.8 4 108 93 3.85 2.32…
фрейм данных mtcars Bulitin
Заголовок - это верхняя строка таблицы, содержащая имена столбцов. Строки данных передаются каждой горизонтальной линией; каждая строка начинается с имени строки, а затем следуют фактические данные. Элемент данных строки называется ячейкой.
Мы должны ввести координаты строки и столбца в одну квадратную скобку с оператором '[]', чтобы получить данные в ячейке. Для разделения координат используем запятую. Порядок важен. Координата начинается со строки, затем с запятой и заканчивается столбцом. Значение ячейки 2nd ряд и 1ул столбец представлен как:
> mtcars [2, 2] [1] 6
Мы также можем использовать имя строки и столбца вместо координат:
> mtcars ["Автобус RX4", "миль на галлон"] [1] 6
Функция nrow используется для нахождения количества строк во фрейме данных.
> nrow (mtcars) # количество строк данных [1] 32
Функция ncol используется для определения количества столбцов во фрейме данных.
> ncol (mtcars) # количество столбцов [1] 11
Циклы программирования R
В некоторых случаях мы используем циклы, когда хотим автоматизировать какую-то часть кода или хотим повторить последовательность инструкций.
Для цикла в R
Если мы хотим распечатать информацию за эти годы более одного раза.
print (paste («Год есть», 2000)) «Год уже 2000» print (paste («Год есть», 2001)) «Год - 2001» print (paste («Год есть», 2002) ) Печать «Год есть 2002» (вставить («Год есть», 2003)) Печать «Год - 2003» (вставить («Год есть», 2004)) Печать «Год - 2004» (вставить (« Год ", 2005") "Год 2005"
Вместо того чтобы повторять наше утверждение снова и снова, если мы используем для цикл нам будет намного проще. Как это:
for (год в c (2000,2001,2002,2003,2004,2005)) print (paste («Год есть», год)) «Год - 2000» «Год - 2001» «Год - 2002 "" 2003 год "" 2004 год "" 2005 год "
Пока цикл в R
while (выражение) оператор
Если результатом выражения является ИСТИНА, вводится тело цикла. Операторы внутри цикла выполняются, и поток возвращается, чтобы снова оценить выражение. Цикл будет повторяться до тех пор, пока выражение не станет FALSE, и в этом случае цикл завершится.
Пример цикла while:
# i изначально инициализируется значением 0 i = 0, а (i<5) print (i) i=i+1 Output: 0 1 2 3 4
В приведенном выше цикле while выражение я<5который имеет значение ИСТИНА, поскольку 0 меньше 5. Следовательно, выполняется тело цикла, и я выводится и увеличивается. Важно увеличивать я внутри цикла, поэтому он каким-то образом будет соответствовать условию в какой-то момент. В следующем цикле значение я равно 1, и цикл продолжается. Он будет повторяться до тех пор, пока я равно 5, когда условие 5<5 reached loop will give FALSE and the while loop will exit.
Функции R
Чтобы создать функция мы используем директивную функцию (). В частности, это объекты R класса функция.
ж <- function() ##some piece of instructions
Примечательно, что функции могут быть переданы другим функциям в качестве аргументов, а функции могут быть вложенными, чтобы вы могли определять функцию внутри другой функции.
Функции могут иметь некоторые именованные аргументы, которые имеют значения по умолчанию. Если вам не нужно значение по умолчанию, вы можете установить для него значение NULL.
Некоторые факты об аргументах функции R:
- Аргументы, допускаемые в определении функции, являются формальными аргументами
- Функция formals может возвращать список всех формальных аргументов функции
- Не каждый вызов функции в R использует все формальные аргументы
- Аргументы функции могут иметь значения по умолчанию или отсутствовать
# Определение функции: f <- function (x, y = 1, z = 2, s= NULL)
Создание модели логистической регрессии со встроенным набором данных
В glm () функция используется в R для соответствия логистической регрессии. Функция glm () аналогична функции lm (), но у glm () есть некоторые дополнительные параметры. Его формат выглядит так:
glm (X ~ Z1 + Z2 + Z3, family = binomial (link = "logit"), data = mydata)
X зависит от значений Z1, Z2 и Z3. Это означает, что Z1, Z2 и Z3 являются независимыми переменными, а X - зависимой функцией. Функция включает в себя дополнительное семейство параметров и имеет биномиальное значение (link = «logit»), что означает, что функция связи имеет логит, а распределение вероятностей модели регрессии является биномиальным.
Предположим, у нас есть пример студента, в который он поступит по двум результатам экзаменов. Набор данных содержит следующие элементы:
- результат _1- Результат-1 балл
- результат _2- Результат -2 балла
- Допущен - 1, если допущен, или 0, если не принят
В этом примере у нас есть два значения: 1, если студент поступил, и 0, если он не поступил. Мы должны создать модель, чтобы предсказать, получил ли студент зачисление или нет,. Для данной задачи допущено считается зависимой переменной, экзамен_1 и экзамен_2 - независимыми переменными. Для этой модели наш код R дается
> Модель_1<-glm(admitted ~ result_1 +result_2, family = binomial("logit"), data=data)
Предположим, у нас есть два результата студента. Результат-1 65% и результат-2 90%, теперь мы спрогнозируем, получит ли студент допуск или нет, для оценки вероятности того, что студент получит допуск, наш код R выглядит следующим образом:
> in_frame<-data.frame(result_1=65,result_2=90) >предсказать (Модель_1, in_frame, type = "response") Вывод: 0.9894302
Приведенный выше вывод показывает нам вероятность от 0 до 1. Если тогда меньше 0.5 это означает, что студент не поступил. В этом состоянии будет ЛОЖЬ. Если больше 0.5 условие будет считаться ИСТИННЫМ, что означает, что студент зачислен. Мы должны использовать функцию round (), чтобы предсказать вероятность от 0 до 1.
R-код для этого показан ниже:
> round (предсказать (Model_1, in_frame, type = "response")) [/ code] Результат: 1
Студент получит допуск, так как на выходе будет 1. Более того, таким же образом мы можем прогнозировать и для других наблюдений.
Использование модели логистической регрессии (скоринга) с новыми данными
При необходимости мы можем сохранить модель в файл. Код R для нашей модели поезда будет выглядеть так:
модель <- glm(my_formula, family=binomial(link='logit'),data=model_set)
Эту модель можно сохранить с помощью:
сохранить (файл = "имя_файла", the_file)
Вы можете использовать файл после его сохранения, используя этот кусок кода R:
загрузить (файл = "имя файла")
Для применения модели к новым данным вы можете использовать эту строку кода:
model_set $ pred <- predict(the_model, newdata=model_set, type="response")
ПРИМЕЧАНИЕ: Model_set не может быть назначен какой-либо переменной. Для загрузки модели воспользуемся функцией load (). Новые наблюдения ничего не изменят в модели. Модель останется прежней. Мы используем старую модель, чтобы делать прогнозы относительно новых данных, чтобы ничего не менять в модели.
Заключение
Надеюсь, вы увидели, как программирование на R работает в основном и как вы можете быстро приступить к работе, выполняя машинное обучение и кодирование статистики с помощью R.