Я пишу свою первую функцию когда-либо (включая любой другой язык программирования), и я немного запутался в правильной структуре для if
, else
и ifelse
. Я искал массу примеров, но мне все это не ясно.
Ситуация. Я пытаюсь подсказать клиентам, как долго они были клиентами, а затем превратить это в фактор.
#Sample Data
clientID <- round(runif(2,min=2000, max=3000),0)
MonthsSinceSignUp <- round(runif(20,min=1, max=60),0)
df <- data.frame(cbind(clientID,MonthsSinceSignUp))
Для данного клиента я хотел бы определить, были ли они так меньше года, больше года, но менее 2 и т.д.
Это моя первая трещина в функции:
ClientAgeRange <- function(MonthsSinceSignUp) {
if (MonthsSinceSignUp < 13) {ClientAgeRange <- '1 year'}
} else {
if (MonthsSinceSignUp > 13 & MonthsSinceSignUps < 25) {ClientAgeRange <- '2 years'}
} else {ClientAgeRage <- '3+ years'}
Ошибка, которую я продолжаю получать:
Error: unexpected '}' in "}"
, что указывает на то, что я отсутствует или у вас есть дополнительная закрывающая скобка. Однако, несмотря на мою проблему, я не могу ее найти. Но - я думаю, в общем, я не применяю правильную структуру к функции. Я пытаюсь создать if this, then set this variable as that
. Как я могу правильно структурировать эту функцию?
Наконец - если бы я хотел добавить вывод функции в dataframe
, это apply
правильный способ сделать это?