r - 生成一个具有特定值的矩阵,使其标准差为 1?
问题描述
我目前正在阅读一本“R 简介”一书,我完全陷入了以下问题:
创建一个 5x5 矩阵 (M),其所有条目均来自均匀分布,其中 sd 1 和 mean 是元素的列号。(所以平均(矩阵[,I])==列(i),sd(矩阵)== 1)
我必须使用该sapply()
功能。
我在想这样的事情:
m <- matrix(runif(25), nrow = 5, ncol = 50
sapply(matrix, function(x) sd(x) == 1)
但是那部分已经不起作用了,我只是卡住了。帮助将不胜感激!
解决方案
平均值可以通过以下方式设置:
my_uniform <- function(col_nbr) {
runif(5, min = col_nbr-sqrt(12)/2, max=col_nbr+sqrt(12)/2)
}
M <- sapply(1:5, my_uniform)
这将导致每列的 std=1 并且平均值设置为每列中的列数。均值的公式是:
sdt 的公式为:
推荐阅读
- python - 如何在套接字python中使用公共ip4
- c++ - 如何从许多函数中获取函数指针并将参数传递给它?
- c# - UI 在第一个字段后不响应接受任何输入
- jquery - 数据表 - 日期年龄 - 过滤器 ASC DESC
- flutter - Flutter - 上传 csv 文件
- firebase - Firebase 存储工件巨大且不断增加
- aws-lambda - 在 lambda 函数中存储和访问数据文件
- php - 在 Laravel 中从数据库中删除图像的问题
- reactjs - Redux 我应该如何处理 API 调用的更新
- c# - 如何通过两个属性 DC=intechww,DC=com 为 LDAP 创建连接字符串