2014-03-03 5 views
0

Вот функция prop.test:«аргумент» должен быть NULL или символ Вектор

baby.prop.test = function (x, n, p, conf.level = 0.95) { 
    # ... 
    return(prop.test(x,n,p,conf.level)) 
    #baby.prop.test$statistic 
} 
# test case 
baby.prop = baby.prop.test(72, 100, .7, conf.level=.99) 
stopifnot(isTRUE(all.equal(as.numeric(baby.prop$statistic), .43643578))) 
stopifnot(isTRUE(all.equal(as.numeric(baby.prop$p.value), .66252058))) 

Здесь ошибка:

Error in match.arg(alternative) : 
    'arg' must be NULL or a character vector 

Любая идея, что это не так?

ответ

4

Согласно formals(prop.test) или ?prop.test, четвертый аргумент называется alternative и должен быть символом c("two.sided", "less", "greater"). Ваш четвертый элемент - conf.level (который является пятым из prop.test, порядок имеет значение). Чтобы «игнорировать» порядок аргументов, вы должны назвать свои аргументы (по крайней мере, conf.level):

prop.test(x, n, p, conf.level=conf.level) 
Смежные вопросы