L oop сверх названий месяцев в R - PullRequest
0 голосов
/ 09 июля 2020

Я изучаю команду for l oop в R, и я хотел создать код, который сообщит вам ваш знак зодиака c.

m <- c("January", "February", "March", "April","May","June","July","August","September","October","November","December")
  

for(m in "January":"December") {
  
  if (m == "March"|"April" )
    next
}

print(paste("You are an Aries"))

Когда я запускаю это, я получаю ошибки «Ошибка в« январе »:« Декабрь »: аргумент NA / NaN» и «2: в« январе »:« декабрь »: НП введены путем принуждения». Как их удалить?

Ответы [ 2 ]

1 голос
/ 09 июля 2020

Существует встроенный вектор с названиями месяцев: month.name.

Чтобы создать for l oop, просто введите:

for(i in month.name) {...}

Чтобы проверить, является ли месяц март или апрель, используйте %in%, например:

if (i %in% c("March", "April") {...}

Таким образом, ваш код может быть:

for(i in month.name) {
  if (i %in% c("March", "April")) {
    print(paste(i, "- you are an Aries."))
  } else {
    print(paste(i, "- you are not in Aries."))
  }
}
#> [1] "January - you are not in Aries."
#> [1] "February - you are not in Aries."
#> [1] "March - you are an Aries."
#> [1] "April - you are an Aries."
#> [1] "May - you are not in Aries."
#> [1] "June - you are not in Aries."
#> [1] "July - you are not in Aries."
#> [1] "August - you are not in Aries."
#> [1] "September - you are not in Aries."
#> [1] "October - you are not in Aries."
#> [1] "November - you are not in Aries."
#> [1] "December - you are not in Aries."

Создано 09.07.2020 пакетом REPEX (v0.3.0)

1 голос
/ 09 июля 2020

Любой из этих трех фрагментов будет печатать названия каждого месяца, кроме марта и апреля. month.name - вектор, встроенный в R, содержащий названия месяцев.

for(m in month.name) {
  if (m %in% c("March", "April")) next
  print(m)
}

for(m in setdiff(month.name, c("March", "April"))) print(m)

print(setdiff(month.name, c("March", "April")))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...