小编jst*_*sts的帖子

合并来自R中两个列表的矩阵

假设我有两个包含几个矩阵的列表.第一个列表包括尺寸不同于矩阵的矩阵:

创建list1的代码:

d<-c(0,1,0,1)
e<-c(1,0,0,0)
f<-c(0,0,0,0)
g<-c(1,0,0,0)
cn<-c(1,2,3,4)
p<-data.frame(d,e,f,g)
dimnames(p)<-list(cn,cn)

d<-c(0,1,0,1,0)
e<-c(1,0,0,0,0)
f<-c(0,0,0,0,0)
g<-c(1,0,0,0,1)
h<-c(0,0,0,1,0)
cn<-c(1,2,3,4,5)
q<-data.frame(d,e,f,g,h)
dimnames(q)<-list(cn,cn)

list1<-list(p,q)
names(list1)<-1990:1991
Run Code Online (Sandbox Code Playgroud)

列表1:

list1

$`1990`
  1 2 3 4
1 0 1 0 1
2 1 0 0 0
3 0 0 0 0
4 1 0 0 0

$`1991`
  1 2 3 4 5
1 0 1 0 1 0
2 1 0 0 0 0
3 0 0 0 0 0
4 1 0 0 0 1
5 0 0 0 …
Run Code Online (Sandbox Code Playgroud)

merge r list matrix

6
推荐指数
1
解决办法
953
查看次数

保持矩阵列表中每行的2个最高值

假设我有一个矩阵列表:

$`2010`
   1  2  3 4
1  0  3  5 6
2  5  1  9 5
3  0  0  0 0
4 10 10 10 0

$`2011`
  1 2 3 4
1 0 2 3 6
2 5 0 3 1
3 2 4 0 1
4 2 1 2 1
Run Code Online (Sandbox Code Playgroud)

创建矩阵的代码:

cntry<-c(1,2,3,4)
a<-c(0,5,0,10)
b<-c(3,1,0,10)
c<-c(5,9,0,10)
d<-c(6,5,0,0)
k<-data.frame(a,b,c,d)
k<-as.matrix(k)
dimnames(k)<-list(cntry,cntry)

e<-c(0,5,2,2)
f<-c(2,0,4,1)
g<-c(3,3,0,2)
h<-c(6,1,1,1)
l<-data.frame(e,f,g,h)
l<-as.matrix(l)
dimnames(l)<-list(cntry,cntry)

list<-list(k,l)
names(list)<-2010:2011
Run Code Online (Sandbox Code Playgroud)

我希望在每一行中保留两个最高值,并将同一行中其他单元格的剩余较小值替换为0.

如果有两个以上的单元格具有最高值,我希望保留所有这些单元格(例如:10 10 10 0-> 10 10 10 0,5 1 9 …

r matrix rank

5
推荐指数
1
解决办法
482
查看次数

在R中创建连接矩阵,计算共享成员资格

假设我在R中有一个数据集,表明国际组织中国家的成员资格(原始数据集可以在这里找到:IGO_stateunit_v2.3.zip).

以下是数据基本结构的示例:

cntr <- c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J')
UNO <- c(0, 1, 1, 1, 1, 1, 1, 1, 1, 1)
APEC <- c(0, 0, 0, 0, 1, 1, 1, 0, 0, 0)
ASEAN <- c(0, 0, 0, 0, 1, 1, 0, 0, 0, 0)
data <- data.frame(cntr, UNO, APEC, ASEAN)
Run Code Online (Sandbox Code Playgroud)

所以数据看起来像这样,其中1 =组织中的成员资格:

cntr UNO APEC ASEAN
A   0    0     0
B   1    0     0
C   1    0     0
D   1    0     0 …
Run Code Online (Sandbox Code Playgroud)

r connectivity matrix

3
推荐指数
1
解决办法
124
查看次数

标签 统计

matrix ×3

r ×3

connectivity ×1

list ×1

merge ×1

rank ×1