我有一个包含超过80000个列联表的大型csv文件,下面是第一个记录:
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)
,即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)
感谢你提前给予的帮助!
答案 0 :(得分:1)
您已写过:
sd=test$sdError
你应该放:
sd=test$sdErr