r - 创建许多随机数矩阵的问题
问题描述
我想制作一个 3x3 矩阵,其中的数字来自区间 [0,1] 上的均匀分布。我想这样做 1000 次。
我目前这样做:
D <- replicate(3, runif(3, 0, 1), simplify=TRUE)
#This makes a 3x3 matrix with random numbers from
#uniform normal distribution on interval [0,1]
rep(D,times=1000)
但该命令会创建一个包含 9000 个数字的列表,而不是 1000 个 3x3 矩阵。我怎样才能解决这个问题?
解决方案
使用lapply
,我们可以创建一个长度为 1000 的列表,其中列表的每个元素都是所需的 3x3 矩阵:
set.seed(1234)
list_of_mats <- lapply(1:1000, function(x) matrix(runif(9), 3, 3))
例如,第八个矩阵是:
list_of_mats[[8]]
# [,1] [,2] [,3]
#[1,] 0.01374994 0.30809476 0.5645698
#[2,] 0.23902573 0.50854757 0.1214802
#[3,] 0.70649462 0.05164662 0.8928364
推荐阅读
- c - 自定义 PAM 在 SSH 中的 PAM_CONVERSATION 失败
- python - AttributeError:'tuple'对象没有属性'write',实例分割python
- html - CSS 意味着覆盖,但为什么某些 css 类会覆盖它
- c# - 如何将 TabbedPage 与 MasterDetailPage 与 MvvmCross 演示者一起使用?
- arrays - Kotlin:我想在数组不在“if”时更新一个字母数组。当数组更新离开“if”时,如何保持更新?
- docusaurus - 在 Docusaurus 中找不到页面
- filter - 带有过滤器的谷歌电子表格交叉数据不起作用
- google-sheets - 如何使用谷歌电子表格生成特定年份的随机出生日期数据?
- python - 使用 Keras 中的功能 API 向 GRU 模型添加遮罩层的正确方法?
- c++ - BOOST 1.73.0 进程间字符串分配器错误