在R中,我使用什么命令来生成由数据集中所有列向量的均值组成的数据集?

use*_*062 5 r distribution dataset

一些背景:首先,我想从[R]中的均匀(0,1)分布生成多组样本(每个样本大小为n).我知道从统一分布生成的命令对于某些样本大小x是runif(n = x),例如,如果我想要样本大小20,则命令将是

runif(N = 20)

接下来,我使用了命令

复制(100,runif(n = 20))

这会生成一个双矩阵值,然后我可以将其转换为包含100列和20行的数据集.

我是否有可能生成一个由所有列向量的样本均值组成的数据集(取自均匀分布的100组样本均值)?

谢谢您的帮助.

nic*_*ico 10

你可以用colMeans.

data <- replicate(100, runif(n=20))
means <- colMeans(data)
Run Code Online (Sandbox Code Playgroud)

  • R 2.15+还包括`.colMeans()`.根据说明,这些是"用于需要极限速度的编程". (2认同)

Idr*_*Idr 5

生成数据:

data <- replicate(100, runif(n=20))
Run Code Online (Sandbox Code Playgroud)

列、行的平均值:

col_mean <- apply(data, 2, mean)
row_mean <- apply(data, 1, mean)
Run Code Online (Sandbox Code Playgroud)

列、行的标准差

col_sd   <- apply(data, 2, sd)
row_sd   <- apply(data, 1, sd)
Run Code Online (Sandbox Code Playgroud)


fra*_*nkc 2

如果我理解正确的话: apply(replicate(100,runif(n=20)),2,mean)