我有两个不同行号和列号的矩阵。我可以比较行名称并仅提取表2中不在表1中的行吗? 即
a1 <- data.frame(a = 1:5, b=letters[1:5])
a2 <- data.frame(a = 1:3, b=letters[1:3], c=letters[4:6])
a3 <- as.matrix(a1)
a4 <- as.matrix (a2)
row.names(a3) <- c("chr1:981994", "chr1:1025751", "chr1:1026919", "chr1:1118414", "chr1:1119410" )
row.names(a4) <- c("chr1:1118414", "chr1:1119410", "chr1:1216877")
然后比较两者并创建一个新的矩阵 表2中的最后一行,因为它对表2是唯一的。
答案 0 :(得分:1)
我们可以使用%in%
来比较行名称
a4[!row.names(a4) %in% row.names(a3), , drop=FALSE]
# a b c
#chr1:1216877 "3" "c" "f"