【问题标题】:How to generate normal distributed multidimensional points如何生成正态分布的多维点
【发布时间】:2013-04-03 16:15:02
【问题描述】:

我需要生成一个随机的多维聚类数据。为此,我想生成几个均匀分布的多维点(中心),然后在每个点周围生成许多正态分布点。如何将向量(多维点)设置为正态分布的平均值?我看到函数rnorm可以得到向量作为meansd参数,但我真的不明白它是如何工作的。

【问题讨论】:

  • 分解问题。你知道如何在给定的均值和标准差下生成一维正态分布的点吗?
  • 是的,当然rnorm(n = number_of_points, mean, sd)
  • 要查看meansd 参数中向量的使用rnorm 可以试试这个:apply(matrix(rnorm(3000, mean=c(1,2,3), sd=c(1,2,3)), nr=3), 1, sd)apply(matrix(rnorm(3000, mean=c(1,2,3), sd=c(1,2,3)), nr=3), 1, mean)

标签: r random vector


【解决方案1】:

mnormt,函数rmnorm()

set.seed(2)
require(mnormt)
varcov <- matrix(rchisq(4, 2), 2)
varcov <- varcov + t(varcov)

rmnorm(1000, mean=c(0,1), varcov=varcov)

【讨论】:

  • “MASS”和“mvtnorm”包也有类似的功能。
猜你喜欢
  • 2021-12-22
  • 2018-05-15
  • 2020-06-18
  • 1970-01-01
  • 2014-11-06
  • 2018-08-30
  • 1970-01-01
  • 2015-01-28
  • 2016-09-21
相关资源
最近更新 更多