У меня есть большой CSV-файл, содержащий более 80000 записей в таблице сопряженности и ниже первая запись:Ошибка в R pnorm - «Non-числовой аргумент математической функции»
test = data.frame(a=1, b=0, c=1, d=2014, R1=1, R2=2015, C1=2, C2=2014,
n=2016, sampleMean=2015, popMean=2, sdErr=2015, tScore=0.999049881)
Учитывая, что
z = p_cap - p/sqrt(p*(1-p)/n)
ie the observed mean minus the population mean over the standard error
.
test.stat = test$a/test$n - test$popMean/sqrt(test$sdErr)
который оценивает -0.04405856
. Использование функции pnorm
для расчета pValue
:
pValue = pnorm(test.stat, mean=test$sampleMean, sd=test$sdErr, lower.tail=TRUE)
. Но я получаю следующее сообщение об ошибке:
Non-numeric argument to mathematical function
При выполнении команды на следующих соображениях, нет никакой ошибки:
pValue = pnorm(test.stat, mean=0, sd=1, lower.tail=TRUE)
pValue
[1] 0.4824289
Что это означает, что ошибка и как ее избежать?
Чтобы не задавать другой вопрос с одинаковыми данными, у меня есть сомнения относительно стандартной ошибки. Это то же самое, что и стандартное отклонение? В моей справочной системе стандартная ошибка рассчитывается как test$a * sqrt(test$n)
Благодарим вас за помощь!
@ilanman Спасибо за редактирование. – Mohammed
Лучше задать два вопроса, если у вас есть два вопроса. –
@JeremyMiles Я думал, что будет лишним повторять одни и те же данные. Поскольку второй вопрос сильно связан с контекстом первого вопроса, я думал, что это нормально. Еще раз спасибо. – Mohammed