Почему мой вложенный ifelse не работает должным образом в R

#r #if-statement

#r #оператор if

Вопрос:

У меня есть data frame , и я пытаюсь создать new column another column's value условие на основе. Работает first 4 ifelse нормально, но later 3 ifelse не работает. Также не отображается никаких ошибок.

Я не уверен, как написать условие ifelse для character type factor столбца.

Код приведен ниже

 data$Region <- ifelse(data$Station.Names == "Bogra" | data$Station.Names == "Dinajpur" | data$Station.Names == "Rangpur" | data$Station.Names == "Syedpur", "Northern Region",
                  ifelse(data$Station.Names == "Rajshah", "Northwestern Region",
                         ifelse(data$Station.Names == "Satkhira" | data$Station.Names == "Khepupara" , "Northsouthern Region",
                                ifelse(data$Station.Names == "Dhaka" | data$Station.Names == "Tangail" | data$Station.Names == "Mymensingh", "Central egion",
                                       ifelse(data$Station.Names == "Comilla" | data$Stations.Names == "Feni" | data$Stations.Names == "Maijdee-Court" | data$Stations.Names == "Madaripur", "Southern Region",
                                              ifelse(data$Station.Names == "Chittagong (IAP-Patenga)" | data$Station.Names == "Sitakunda" | data$Station.Names == "Teknaf", "Southeastern Region",
                                                     ifelse(data$Station.Names == "Sylhet" | data$Station.Names == "Srimangal", "Eastern Region", "NAA")
                                              )
                                       )
                                )
                         )
                  )
  

)

Приветствуются любые рекомендации.

Комментарии:

1. Если вам разрешено использовать dplyr и / или tidyverse , я бы настоятельно рекомендовал использовать case_when вместо вложенного оператора if . case_when намного легче читать.

Ответ №1:

Если я не ошибаюсь, вы написали два типа data$station.Name и data$Stations.Name

Возможно, это проблема! Внесите изменения и дайте мне знать!