`Ошибка: неожиданный символ в:` при записи функции для проверки однородности дисперсии - PullRequest
0 голосов
/ 02 мая 2020

Я пишу одношаговую функцию проверки однородности любого типа данных, как показано ниже:

variance_homo<- function(df,col1,col2) {
col1_is_facotr<- is.factor(col1)
col2_is_factor<- is.factor(col2)
col1_is_numeric<- is.numeric(col1)
col2_is_numeric<- is.numeric(col2)
if (col1_is_facotr & col2_is_factor)
    {
    return('u')
} elseif
((nlevels(df$col1) == 1) | (nlevels(df$col2) == 1))
{
return('u')
} elseif (col1_is_numeric & col2_is_numeric)
{
res <- var.test(df$col1,df$col2,ratio=1,alternative='two.sided',conf.level=0.95,na.action=na.omit)
return('u')
} 
}

Но я получил много ошибок, как показано ниже:

Error: unexpected symbol in:
"    return('u')
} elseif"
> ((nlevels(df$col1) == 1) | (nlevels(df$col2) == 1))
Error in df$col1 : object of type 'closure' is not subsettable
Called from: levels(x)
Browse[1]> {
+ return('u')
+ } elseif (col1_is_numeric & col2_is_numeric)
Error during wrapup: unexpected symbol in:
"return('u')
} elseif"

После обзора ответа другие вопросы, я несколько раз пересматривал формат скрипта, но все равно получал ошибку.

Ответ, я использую неправильную команду elseif.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...