R 软件使用数组提取行的子集
R software extracting a subset of rows using an array
我有一组由相同列组成的三个矩阵
confasipri1
confasipri2
confasipri3
其中一列名为 ROW_NUM,我使用以下语句找到了 ROW_NUM 的常见值
metercomuni<-intersect (confasipri1[,"ROW_NUM"],confasipri2[,"ROW_NUM"])
metercomuni<- intersect (metercomuni,confasipri3[,"ROW_NUM"])
现在我的问题是从 confasipri1、confasipri2、confasipri3 中提取所有具有共同 metercomuni 的行。
例如,如果在 metercomuni 中我有 (1,3,5,8)
然后我必须创建一个新矩阵 (comuni1) 从 confasipri1 中提取只有具有
的行
ROW_NUM = 1
ROW_NUM = 3
ROW_NUM = 5
ROW_NUM = 8
从 confasipri2 创建 comuni2,从 confasipri3 创建 comuni 3
confaspri1
row_num datoA datoB
1 p f
2 c a
3 h b
4 i c
5 m c
confasipri2
row_num datoA datoB
1 s w
3 d e
4 f r
5 g t
confasipri3
row_num datoA datoB
1 q p
3 a k
6 z l
8 v m
metercomuni
1 3
我梦想的结果是
comuni1
row_num datoA datoB
1 p f
3 h b
comuni2
row_num datoA datoB
1 s w
3 d e
comuni3
row_num datoA datoB
1 q p
3 a k
试试这个:
comuni1<-confasipri1[confasipri1[,"row_num"] %in% metercomuni,]
看起来你的数据可能是数据框而不是矩阵,所以你也可以这样做:
comuni1<-with(confasipri1,confasipri1[row_num %in% metercomuni,])
我有一组由相同列组成的三个矩阵
confasipri1
confasipri2
confasipri3
其中一列名为 ROW_NUM,我使用以下语句找到了 ROW_NUM 的常见值
metercomuni<-intersect (confasipri1[,"ROW_NUM"],confasipri2[,"ROW_NUM"])
metercomuni<- intersect (metercomuni,confasipri3[,"ROW_NUM"])
现在我的问题是从 confasipri1、confasipri2、confasipri3 中提取所有具有共同 metercomuni 的行。
例如,如果在 metercomuni 中我有 (1,3,5,8)
然后我必须创建一个新矩阵 (comuni1) 从 confasipri1 中提取只有具有
ROW_NUM = 1
ROW_NUM = 3
ROW_NUM = 5
ROW_NUM = 8
从 confasipri2 创建 comuni2,从 confasipri3 创建 comuni 3
confaspri1
row_num datoA datoB
1 p f
2 c a
3 h b
4 i c
5 m c
confasipri2
row_num datoA datoB
1 s w
3 d e
4 f r
5 g t
confasipri3
row_num datoA datoB
1 q p
3 a k
6 z l
8 v m
metercomuni
1 3
我梦想的结果是
comuni1
row_num datoA datoB
1 p f
3 h b
comuni2
row_num datoA datoB
1 s w
3 d e
comuni3
row_num datoA datoB
1 q p
3 a k
试试这个:
comuni1<-confasipri1[confasipri1[,"row_num"] %in% metercomuni,]
看起来你的数据可能是数据框而不是矩阵,所以你也可以这样做:
comuni1<-with(confasipri1,confasipri1[row_num %in% metercomuni,])