在 R 中匹配、合并、查找重复值
Matching, merging, finding duplicated value in R
在 R 中,我想匹配并合并两个矩阵。
例如,
> A
ID a b c d e f g
1 ex 3 8 7 6 9 8 4
2 am 7 5 3 0 1 8 3
3 ple 8 5 7 9 2 3 1
> B
col1
1 a
2 c
3 e
4 f
然后,我想匹配矩阵 A 的 header 和矩阵 B 的第一列。
所以我做了
> C<-A[, c('ID', B[, 1])]
最终结果如下。
> C
ID a c e f
1 ex 3 7 9 8
2 am 7 3 1 8
3 ple 8 7 2 3
但是,如果矩阵 B 有一些值不在矩阵 A 中,如下所示,
> B
col1
1 a
2 c
3 e
4 f
5 x
6 y
它说 'subscript out of bounds'。
如何避免这个问题?
(如何只提取重复的列?)
看看这是否有效:
C<-A[, c('ID', colnames(A)[colnames(A) %in% B[,1]])]
在 R 中,我想匹配并合并两个矩阵。
例如,
> A
ID a b c d e f g
1 ex 3 8 7 6 9 8 4
2 am 7 5 3 0 1 8 3
3 ple 8 5 7 9 2 3 1
> B
col1
1 a
2 c
3 e
4 f
然后,我想匹配矩阵 A 的 header 和矩阵 B 的第一列。
所以我做了
> C<-A[, c('ID', B[, 1])]
最终结果如下。
> C
ID a c e f
1 ex 3 7 9 8
2 am 7 3 1 8
3 ple 8 7 2 3
但是,如果矩阵 B 有一些值不在矩阵 A 中,如下所示,
> B
col1
1 a
2 c
3 e
4 f
5 x
6 y
它说 'subscript out of bounds'。
如何避免这个问题?
(如何只提取重复的列?)
看看这是否有效:
C<-A[, c('ID', colnames(A)[colnames(A) %in% B[,1]])]