gpt4 book ai didi

r - 选择在数据框列表中重复的对

转载 作者:行者123 更新时间:2023-12-04 14:22:39 26 4
gpt4 key购买 nike

这是我的代码。这是一个数据框列表。我的实际列表要大得多,这个列表有 3 个条目,我的有 1,000 多个。它只是一个例子:

w=list(structure(list(Col1 = structure(1:6, .Label = c("A", "B", 
"C", "D", "E", "F"), class = "factor"), Col2 = structure(c(1L,
2L, 3L, 2L, 4L, 5L), .Label = c("B", "C", "D", "F", "G"), class = "factor")), class = "data.frame", row.names = c(NA,
-6L)), structure(list(Col1 = structure(c(1L, 4L, 5L, 6L, 2L,
3L), .Label = c("A", "E", "H", "M", "N", "P"), class = "factor"),
Col2 = structure(c(1L, 2L, 3L, 2L, 4L, 5L), .Label = c("B",
"C", "D", "F", "G"), class = "factor")), class = "data.frame", row.names = c(NA,
-6L)), structure(list(Col1 = structure(c(1L, 4L, 6L, 5L, 2L,
3L), .Label = c("A", "W", "H", "M", "T", "U"), class = "factor"),
Col2 = structure(c(1L, 2L, 3L, 2L, 4L, 5L), .Label = c("B",
"C", "D", "S", "G"), class = "factor")), class = "data.frame", row.names = c(NA,
-6L)))

我需要的是识别在每个条目中重复的对,也就是说,它进入第一个条目并遍历所有对,然后进入第二个条目,看看是否有任何对与第一个输入

在第三个条目中,他进行相同的搜索,同时查看第一个条目和第二个条目,并检查第 3 个条目中的相关对是否同时出现在第一个和第二个条目中。

如果你只有第一和第三个条目,我不在乎。或者第二个和第三个我也不感兴趣。

** 也就是说,他应该给我 A B 和 E F 对。**

请注意,HG 对仅在第二个和第三个入口中重复,所以我对这对不感兴趣。

我需要一个订单,并且响应的对属于第一个条目是至关重要的。最好的答案是这些对属于所有输入,这是 A B 的情况。 E F 的情况将是第二好的选择。

我希望能够将它们保存在文本元素的向量中。

可以用什么函数来表达这个想法?有什么建议吗?

最佳答案

Reduce(f = dplyr::intersect, x = w)
# Col1 Col2
# 1 A B
# 2 E F
# Warning messages:
# 1: Column `Col1` joining factors with different levels, coercing to character vector
# 2: Column `Col1` joining character vector and factor, coercing into character vector

如果您使用 data.table,我认为这会更快s 而不是 data.frame s 在您的列表中,然后使用 fintersect .如果您正在读取文件, lapply(your_files, fread)将创建 data.table s 非常快(并且还避免了警告处理的因素问题)。

关于r - 选择在数据框列表中重复的对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51955954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com