R - Принятие решений: руковод для начинающих
Привет, будущие программисты на R! Я рад быть вашим проводником в увлекательное путешествие в мир принятия решений в R. Как某人, кто преподавал информатику на протяжении многих лет, я видел, как无数 студентов загораются, когда они понимают эти концепции. Так что погружаемся и принимаем的一些 решения!
Что такое принятие решений в программировании?
Прежде чем мы перейдем к конкретным деталям R, давайте поговорим о том, что означает принятие решений в программировании. Представьте, что вы находитесь в冰淇淋номмагазине. Вы просто берете первый flavor, который видите, правильно? Вы принимаете решение на основе своих предпочтений. Программирование похоже - мы хотим, чтобы наш код делал выборы на основе определенных условий.
Основы принятия решений в R: оператор if
Синтаксис
Давайте начнем с наиболее fundamental инструмента для принятия решений в R: оператор if
. Вот его базовая структура:
if (condition) {
# Код для выполнения, если условие ИСТИНА
}
Простой пример
Давайте представим, что мы хотим проверить, положительное ли число. Вот как мы это делаем:
x <- 5
if (x > 0) {
print("x положительное")
}
Когда вы выполните этот код, вы увидите "x положительное" напечатанным. Почему? Потому что 5 действительно больше 0, поэтому условие x > 0
ИСТИНА.
Добавление оператора else
Но что, если мы хотим сделать что-то, когда условие ЛОЖЬ? Вот где появляется оператор else
:
x <- -3
if (x > 0) {
print("x положительное")
} else {
print("x не положительное")
}
Запустите это, и вы увидите "x не положительное". Оператор else
дает нам возможность обработать случай ЛОЖЬ.
Более сложные решения: else if
Иногда жизнь (и программирование) не так проста, как черное и белое. Мы можем нуждаться в проверке множества условий. Входим else if
:
x <- 0
if (x > 0) {
print("x положительное")
} else if (x < 0) {
print("x отрицательное")
} else {
print("x ноль")
}
Этот код проверяет, положительное ли x, отрицательное или ноль. Это как книга "выбери свое приключение" для чисел!
Мощный оператор switch
Когда у вас есть множество конкретных случаев для проверки, оператор switch
может стать вашим лучшим другом. Это как автомат для выполнения кода:
day <- "Monday"
mood <- switch(day,
"Monday" = "Нужен кофе",
"Friday" = "TGIF!",
"Обычный день"
)
print(mood)
Это напечатает "Нужен кофе". Оператор switch
сравнивает значение day
с вариантами и возвращает соответствующее значение.
Условное выполнение с ifelse()
R имеет полезную функцию под названием ifelse()
, которая combine-if-else statement в одну строку:
x <- 10
result <- ifelse(x > 5, "Больше 5", "Не больше 5")
print(result)
Это напечатает "Больше 5". Функция ifelse()
великолепна для быстрых, простых условий.
Операторы сравнения: основы условий
Чтобы принимать решения, нам нужно сравнивать значения. Вот операторы сравнения в R:
Оператор | Зnacение |
---|---|
< |
Меньше |
> |
Больше |
<= |
Меньше или равно |
>= |
Больше или равно |
== |
Равно |
!= |
Не равно |
Например:
a <- 5
b <- 10
print(a < b) # ИСТИНА
print(a == b) # ЛОЖЬ
Логические операторы:_combining условия
Иногда нам нужно проверить несколько условий одновременно. Вот где появляются логические операторы:
Оператор | Зnacение |
---|---|
& |
AND |
| |
OR |
! |
NOT |
Вот как вы можете использовать их:
age <- 25
has_license <- TRUE
if (age >= 18 & has_license) {
print("Ты можешь водить")
} else {
print("Ты не можешь водить")
}
Это проверяет, достиг ли кто-тонолетия и имеет ли права перед тем, как позволить ему водить.
Все вместе: реальный пример
Давайте создадим простую систему оценивания:
grade_student <- function(score) {
if (score >= 90) {
return("A")
} else if (score >= 80) {
return("B")
} else if (score >= 70) {
return("C")
} else if (score >= 60) {
return("D")
} else {
return("F")
}
}
# Давайте проверим нашу функцию
students <- c("Алиса", "Боб", "Чарли")
scores <- c(95, 82, 65)
for (i in 1:length(students)) {
grade <- grade_student(scores[i])
print(paste(students[i], "получил оценку", grade))
}
Этот скрипт определяет функцию для присвоения letter grades на основе числовых оценок, а затем применяет ее к списку студентов.
Заключение
Поздравляю! Вы только что сделали свои первые шаги в мир принятия решений в R. Помните, как при обучении любому новому навыку, практика делает perfect. Не бойтесь экспериментировать с этими концепциями - так happens настоящее обучение!
За годы преподавания я обнаружил, что студенты, которые играют с кодом, ломают вещи и затем чинят их снова, tend to understand concepts much more deeply. Так иди вперед, принимаешь решения (в твоем коде) и весело проводи время!
Credits: Image by storyset