R语言中,生成10000个标准正态分布的随机数,分别计算大于1.96,小于-1.96和-1.96到1.96之间的数各有多少个.

我的代码是
n<-rnorm(10000,0,1)
length(n[n>1.96])
length(n[n<-1.96])
length(n[abs(n)>1.96])
但是结果
n<-rnorm(10000,0,1)
> length(n[n>1.96])
[1] 273
> length(n[n<-1.96])
[1] 1
> length(n[abs(n)>1.96])
[1] 0
也就是说只有第一个有结果,下面两个算不出来,应该怎么办?
第三个绝对值应该是小于,写成大于了,不过对问题没什么影响

n<-1.96 这是R的bug,你想数n小于-1.96的个数, 但此时R会认为你把1.96赋值给n

这块你要用length(n[n<(-1.96)])

length(n[abs(n)>1.96]) 这个是没问题的,但是你前一步已经让n=1.96了,所以这里只能是0
温馨提示:答案为网友推荐,仅供参考
相似回答