楼主: juicejune
1652 5

[问答] 求助,使用R生成对称矩阵,sas的方法也可以 [推广有奖]

  • 3关注
  • 0粉丝

已卖:8份资源

博士生

38%

还不是VIP/贵宾

-

威望
0
论坛币
3794 个
通用积分
46.4301
学术水平
29 点
热心指数
29 点
信用等级
29 点
经验
1062 点
帖子
118
精华
0
在线时间
426 小时
注册时间
2018-4-16
最后登录
2025-9-29

楼主
juicejune 发表于 2021-4-27 17:13:39 |AI写论文
10论坛币
希望生成一个5×5的对称矩阵,固定其中一侧数值的最大值、最小值和平均数。是想生成类似下面这样的,例子这个的均值为0.3,范围为0.2-0.4
屏幕截图.png

最佳答案

owenqi 查看完整内容

先生成对角线,再生成上三角或下三角
关键词:sas的 对称矩阵 最小值 平均数 最大值

回帖推荐

llb_321 发表于4楼  查看完整内容

你的代码还要再加一句

owenqi 发表于2楼  查看完整内容

先生成对角线,再生成上三角或下三角

沙发
owenqi 在职认证  学生认证  发表于 2021-4-27 17:13:40
先生成对角线,再生成上三角或下三角
  1. m <- diag(1, 5)
  2. m[lower.tri(m)] <- runif(length(m[lower.tri(m)]), 0.2, 0.4)
  3. m[upper.tri(m)] <- m[lower.tri(m)]
复制代码
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
cheetahfly + 10 热心帮助其他会员
admin_kefu + 30 + 2 + 2 + 2 根据规定进行奖励

总评分: 论坛币 + 40  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

藤椅
juicejune 发表于 2021-4-27 17:33:06
或者是,如果不能直接生成矩阵的话,有没有办法生成有限制的随机数,限制范围与均值,虽然这样不算是随机数

板凳
llb_321 在职认证  发表于 2021-4-28 09:49:40
owenqi 发表于 2021-4-27 23:29
先生成对角线,再生成上三角或下三角
你的代码还要再加一句
  1. m[upper.tri(m)] <- t(m)[upper.tri(m)]
复制代码
已有 3 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
cheetahfly + 10 热心帮助其他会员
admin_kefu + 20 + 2 + 2 + 2 精彩帖子
juicejune + 5 精彩帖子

总评分: 论坛币 + 35  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

报纸
juicejune 发表于 2021-4-28 10:46:15
llb_321 发表于 2021-4-28 09:49
你的代码还要再加一句
感谢两位老师的回复,还想问一下,再限制均值为0.30的且限制两位小数的条件的话,是可行的吗

地板
llb_321 在职认证  发表于 2021-4-28 12:14:12
juicejune 发表于 2021-4-28 10:46
感谢两位老师的回复,还想问一下,再限制均值为0.30的且限制两位小数的条件的话,是可行的吗
把owenqi老师的代码中的这句
m[lower.tri(m)] <- runif(length(m[lower.tri(m)]), 0.2, 0.4)
加一个round()即可限制小数位数,如下
m[lower.tri(m)] <- round(runif(length(m[lower.tri(m)]), 0.2, 0.4),2)

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-5 11:42