为何无法在map2()内的rnorm函数中使用n = 5?
rnorm函数返回空值的原因解析
问题背景
我在使用R语言的rnorm()函数时遇到了异常情况:
- 某段未显式指定
n参数的代码执行后返回空值; - 但当我调整写法,显式传入随机数数量参数
n后,函数就能正常生成随机数。
我原本以为必须在rnorm()里指定n,想搞清楚为什么第一种写法会失效。
原因解析
R语言的rnorm()函数语法规则是:第一个参数必须是随机数的数量n,mean(均值)和sd(标准差)属于可选参数,默认值分别为0和1。
- 如果只写
rnorm(mean=0, sd=1)这类代码,相当于完全没给n参数,函数无法确定要生成多少个随机数,所以返回空值; - 正确的写法必须明确传入
n,比如rnorm(n=100)(用默认均值和标准差),或者rnorm(100, mean=2, sd=0.5),这样函数拿到了核心的数量参数,就能正常输出随机数结果。
内容的提问来源于stack exchange,提问作者sam
相关产品推荐
相关产品推荐

