对于R来说不是一个新手。我已经找到了如何创建矩阵的方法,但是在使行具有不同的标准偏差和均值方面遇到困难。
例如
row 1: mu = 3.5, SD = 0.5
row 2: mu = 4, SD = 1
...
到目前为止,我的代码如下:
n = 5
k = 5
mu = 3.5
stdev = 0.5
dat = rnorm(n*k, mu, stdev)
sample = matrix(data=dat, nrow=n, ncol=k)
我需要制作单独的矩阵,然后以某种方式将它们组合成一个矩阵吗?
答案 0 :(得分:1)
否,您不必循环调用rnorm
。 R是向量化的,*dist
函数也是如此。
以下将满足您的要求。
n <- 2
k <- 5
mu <- c(3.5, 4)
stdev <- c(0.5, 1)
set.seed(1234) # Make the results reproducible
dat <- rnorm(2*k, mean = mu, sd = stdev)
sample.mat <- matrix(data = dat, nrow = n, ncol = k)
请注意,sample
是基本函数,我选择了另一个名称保存结果。