我有一个包含 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 次不同的比较。
也许你可以试试这个
> grp <- unname(by(seq_along(list1), sapply(list1, toString), c))
> grp[lengths(grp) > 1]
[[1]]
[1] 3 4