- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在调试我的模拟,我发现当我运行 rnorm()
时,我的随机法线值对我来说根本不是随机的。 ccc
是参数化给出的平均 sd 向量。我怎样才能获得真正随机的正常实现?由于我的原始模拟很长,我不想进入 Gibbs 采样...你知道为什么我得到正常随机变量的非随机实现吗?
> ccc
# [1] 144.66667 52.52671
> rnorm(20, ccc)
# [1] 144.72325 52.31605 144.44628 53.07380 144.64438 53.87741 144.91300 54.06928 144.76440
# [10] 52.09181 144.61817 52.17339 145.01374 53.38597 145.51335 52.37353 143.02516 52.49332
# [19] 144.27616 54.22477
> rnorm(20, ccc)
# [1] 143.88539 52.42435 145.24666 50.94785 146.10255 51.59644 144.04244 51.78682 144.70936
# [10] 53.51048 143.63903 51.25484 143.83508 52.94973 145.53776 51.93892 144.14925 52.35716
# [19] 144.08803 53.34002
最佳答案
在函数中设置参数是一个基本概念。以rnorm()
为例:
它的结构是rnorm(n, mean = 0, sd = 1)
。显然,mean
和sd
是两个不同的参数,因此您需要为它们分别赋值。这是一个你可能会卡住的令人困惑的情况:
arg <- c(5, 10)
rnorm(1000, arg)
这实际上意味着 rnorm(n = 1000, mean = c(5, 10), sd = 1)
。标准偏差设置为 1 是因为 arg
的位置代表参数 mean
而您没有另外设置 sd
。因此,rnorm()
将取默认值 1 到 sd
。但是,mean = c(5, 10)
是什么意思?让我们检查一下:
x <- rnorm(1000, arg)
hist(x, breaks = 50, prob = TRUE)
# lines(density(x), col = 2, lwd = 2)
mean = c(5, 10)
和 sd = 1
将循环到长度 1000,即
rnorm(n = 1000, mean = c(5, 10, 5, 10, ...), sd = c(1, 1, 1, 1, ...))
因此最终样本 x
实际上是 500 个 N(5, 1)
样本和 500 个 N(10, 1)
交替绘制的样本,即
c(rnorm(1, 5, 1), rnorm(1, 10, 1), rnorm(1, 5, 1), rnorm(1, 10, 1), ...)
至于你的问题,应该是:
arg <- c(5, 10)
rnorm(1000, arg[1], arg[2])
这意味着 rnorm(n = 1000, mean = 5, sd = 10)
。再次检查,您将获得 mean = 5
和 sd = 10
的正态分布。
x <- rnorm(1000, arg[1], arg[2])
hist(x, breaks = 50, prob = T)
# curve(dnorm(x, arg[1], arg[2]), col = 2, lwd = 2, add = T)
关于rnorm 正在生成非随机外观实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54720071/
(添加了可重现的示例。) 我对 rnorm 函数有点困惑。 我期待 mean(rnorm(100,mean=0,sd=1))为0;和 sd(rnorm(100,mean=0,sd=1))为 1。但给出
我正在调试我的模拟,我发现当我运行 rnorm() 时,我的随机法线值对我来说根本不是随机的。 ccc 是参数化给出的平均 sd 向量。我怎样才能获得真正随机的正常实现?由于我的原始模拟很长,我不想进
我想使用 rnorm() 创建随机变量在小标题的单独列中指定平均值和标准差 n % rowwise() %>% mutate(col_rnorm = list(setNames(rnorm(n,
rnorm 正在使用哪种算法函数默认生成标准正态分布的随机数? 最佳答案 见 ?RNGkind .默认是反演算法: normal.kind can be "Kinderman-Ramage", "Bu
我需要生成一个数据集,其中包含 3 个类中的 20 个观察值(每个类 20 个观察值 - 总共 60 个)和 50 个变量。我试图通过使用下面的代码来实现这一点,但是它抛出了一个错误,我最终创建了 5
早上好! 我正在寻找在 R 中创建一些代码的模拟 基本上,我有一个函数,除其他外,它采用用户提供的种子(默认为 NULL)以及特定分布(默认为 rnorm),并输出 9 个随机数,保存为向量“e”。这
如果您运行如下代码: length(unique(runif(10000000))) length(unique(rnorm(10000000))) 你会看到只有大约 99.8% 的 runif 值是
如何为 rnorm 的 mean 参数提供向量? around_int1_mean <- seq(1.5, 3.5, 0.1) 我想做类似rnorm(n=25, mean=around_int1_me
问题:这段代码究竟在做什么? 另外:“w”的使用方式是否是某种现有算法?我试图弄清楚函数的意图,或者至少描述它产生的数字种类。 上下文:我正在查看 Martin O'Leary 的“Fantasy M
我必须为大小为 N 的向量的两组生成随机数。 一组的概率为 p,另一组的概率为 q = 1-p。(例如,对于 p=0.5 的 1000 人,我必须从一个分布生成 500 个随机数,从另一个分布生成 5
以下代码的作用是: rnorm(10, mean=2, sd=1:10) 第一个数字来自 N(2,1) 第二个数字来自 N(2,2) 第三个数字来自 N(2,3) 等等...? 最佳答案 第一个参数告
我必须为大小为 N 的向量的两组生成随机数。 一组的概率为 p,另一组的概率为 q = 1-p。(例如,对于 p=0.5 的 1000 人,我必须从一个分布生成 500 个随机数,从另一个分布生成 5
我设置了种子,生成均匀分布的随机数,用逆CDF方法得到一组正态分布的随机数。然后,我重置种子并使用 rnorm() 生成正态分布的随机数.结果是不同的。 R 中的随机数生成器不是默认使用 Mersen
我将内置 R 函数 rnorm、qnorm 和 pnorm 的性能与等效的 Matlab 函数进行了比较。 似乎 rnorm 和 pnorm 函数在 R 中比在 Matlab 中慢 3-6 倍,而 q
我是一名优秀的程序员,十分优秀!