如何找到列表中相同矩阵/数据框的数量

问题描述 投票:0回答:1

我有一个包含 100 个数据框的列表。我需要找到列表中相同数据帧的数量。

df1 <- data.frame(A = c(1, 1, 0, 1),
                  B = c(0, 0, 1, 1),
                  C = c(1, 1, 1, 0),
                  D = c(1, NA, 0, NA))

df2 <- data.frame(A = c(1, 1, 0, 1),
                  B = c(0, 0, 1, 1),
                  C = c(1, 1, 1, 0),
                  D = c(1, NA, NA, 0))

df3 <- data.frame(A = c(1, 1, 0, 1),
                  B = c(0, 0, 1, 1),
                  C = c(1, 1, 1, 0),
                  D = c(NA, 1, NA, 0))

df4 <- data.frame(A = c(1, 1, 0, 1),
                  B = c(0, 0, 1, 1),
                  C = c(1, 1, 1, 0),
                  D = c(NA, 1, NA, 0))

list1 <- list(df1, df2, df3, df4)
list1

如您所见,列表中的

df3
df4
是相同的。由于列表由 4 个对象组成,因此必须进行 6 次不同的比较。

r loops
1个回答
0
投票

也许你可以试试这个

> grp <- unname(by(seq_along(list1), sapply(list1, toString), c))

> grp[lengths(grp) > 1]
[[1]]
[1] 3 4
© www.soinside.com 2019 - 2024. All rights reserved.