首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中矩阵的非随机赋值

R中矩阵的非随机赋值
EN

Stack Overflow用户
提问于 2018-04-24 06:07:31
回答 2查看 57关注 0票数 2

R命令

代码语言:javascript
复制
matrix(sample(1:9), nrow = 3, ncol = 3)

产生

代码语言:javascript
复制
     [,1] [,2] [,3]
[1,]    4    6    2
[2,]    9    1    8
[3,]    5    3    7

值被随机放置在矩阵位置中。

如何容易地生成以下矩阵(这是上面的简单重排)?

代码语言:javascript
复制
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6
[3,]    7    8    9

也就是说,通常情况下,产生一个矩阵,其中小值倾向于接近其他小值,而大值趋向于接近其他大值。

换句话说,我想说明矩阵中值之间的空间自相关性。也许可以通过指定相关系数来表示关系的整体强度。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-24 06:14:28

我们可以做一个sort,然后构造一个matrix

代码语言:javascript
复制
matrix(sort(m1), 3, 3, byrow = TRUE)

或者我们可以

代码语言:javascript
复制
m1[] <- sort(m1)
t(m1)
票数 2
EN

Stack Overflow用户

发布于 2018-04-24 07:13:07

如果您需要的是在这个矩阵中“传播”一个数字向量(或其他什么),您可以这样做:

代码语言:javascript
复制
> matrix((1:9), nrow = 3, ncol = 3)
     [,1] [,2] [,3]
[1,]    1    4    7
[2,]    2    5    8
[3,]    3    6    9
> matrix((1:9), nrow = 3, ncol = 3,byrow = T)
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6
[3,]    7    8    9

或任意数字:

代码语言:javascript
复制
> vec <- c(12,17,-6,0.4,1,1,1,5,0)
> matrix(vec, nrow = 3, ncol = 3,byrow = T)
     [,1] [,2] [,3]
[1,] 12.0   17   -6
[2,]  0.4    1    1
[3,]  1.0    5    0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49994498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档