【发布时间】:2019-07-02 13:28:22
【问题描述】:
我正在设置我的 R 代码来做蒙特卡洛,但是我需要一个随机分布的 1 个数字的样本,所以为了测试 R 中样本的功能,我设置了下面的代码,但是我做了不明白结果不同的原因。
x <- rnorm(1,8,0)
x
#8
y <-sample(x=rnorm(1,8,0), size=1)
y
#4
【问题讨论】:
-
你知道
rnorm(1,8,0)的真正含义吗?
我正在设置我的 R 代码来做蒙特卡洛,但是我需要一个随机分布的 1 个数字的样本,所以为了测试 R 中样本的功能,我设置了下面的代码,但是我做了不明白结果不同的原因。
x <- rnorm(1,8,0)
x
#8
y <-sample(x=rnorm(1,8,0), size=1)
y
#4
【问题讨论】:
rnorm(1,8,0)的真正含义吗?
引用?sample,
如果 x 的长度为 1,是数字(在 is.numeric 的意义上)并且 x >= 1, 通过 sample 进行采样从 1:x 开始。
您实际上是从c(1, 2, 3, 4, 5, 6, 7, 8) 而不是c(8) 绘制的。
但是,如果我们从 "character" 类中绘制,它就可以工作。
as.numeric(sample(as.character(rnorm(1,8,0)), size=1))
# [1] 8
【讨论】:
sample(rep(rnorm(1,8,0), 2), size=1)避免双重转换