删除 R 中书目数据集中的所有重复实例
Remove all instances of duplicates in bibliographic dataset in R
我有两个书目数据集 A 和 B(.bib 文件、WoS 导出、完整记录和引用的参考文献)。它们都包含相关和不相关的结果。第一个数据集 A 已被清理,因此我将相关结果 A(r) 和不相关结果 A(i) 作为两个不同的数据集(.bib 文件)。第二个数据集 B 完全包含我的第一个数据集 A。
visualisation of my two datasets
目标:
我正在寻找一种方法来从我的第二个数据集 B 中删除不相关的结果 A(i),我已经在我的第一个数据集中确定了这些结果。
方法:
如果我要合并数据集 B 和 A(i),我可以通过使用 remove duplicate function 来跟踪 B 中不相关的结果 A(i),因为 A(i) 会出现两次B. 但是,这只会删除 A(i) 的重复项,而不是 A(i) 的所有实例。
删除重复项的函数:
软件包 revtools
matches <- find_duplicates(data, match_variable = "title")
data_unique <- extract_unique_references(data, matches)
包 bibliometrix
duplicatedMatching(M, Field = "TI", tol = 0.95)
•问题 1:有没有办法删除所有通过 find/remove 重复函数识别的重复项(重复项和原件)?
•Q2:从B中去掉A(i)有没有更好的方法?即删除数据集中的所有重复实例
•问题 3:更普遍的问题:我可以在我的数据集(论文列表)中搜索大量特定书目数据并将其从该数据集中删除吗?
非常感谢您的帮助!
您可以使用 match
在两个数据集中找到相同的 title
。
#remove Ai from B
B[-match(unique(Ai$title), B$title),]
# title misc
#1 a X
#2 b X
#5 e X
#7 g X
#remove Ai and Ar from B
B[-match(unique(c(Ai$title, Ar$title)), B$title),]
# title misc
#7 g X
数据:
Ar <- data.frame(title=c("a", "b", "e"), misc="X", stringsAsFactors = FALSE)
Ai <- data.frame(title=c("d", "c", "f"), misc="X", stringsAsFactors = FALSE)
B <- data.frame(title=letters[1:7], misc="X", stringsAsFactors = FALSE)
我有两个书目数据集 A 和 B(.bib 文件、WoS 导出、完整记录和引用的参考文献)。它们都包含相关和不相关的结果。第一个数据集 A 已被清理,因此我将相关结果 A(r) 和不相关结果 A(i) 作为两个不同的数据集(.bib 文件)。第二个数据集 B 完全包含我的第一个数据集 A。 visualisation of my two datasets
目标: 我正在寻找一种方法来从我的第二个数据集 B 中删除不相关的结果 A(i),我已经在我的第一个数据集中确定了这些结果。
方法: 如果我要合并数据集 B 和 A(i),我可以通过使用 remove duplicate function 来跟踪 B 中不相关的结果 A(i),因为 A(i) 会出现两次B. 但是,这只会删除 A(i) 的重复项,而不是 A(i) 的所有实例。
删除重复项的函数:
软件包 revtools
matches <- find_duplicates(data, match_variable = "title")
data_unique <- extract_unique_references(data, matches)
包 bibliometrix
duplicatedMatching(M, Field = "TI", tol = 0.95)
•问题 1:有没有办法删除所有通过 find/remove 重复函数识别的重复项(重复项和原件)?
•Q2:从B中去掉A(i)有没有更好的方法?即删除数据集中的所有重复实例
•问题 3:更普遍的问题:我可以在我的数据集(论文列表)中搜索大量特定书目数据并将其从该数据集中删除吗?
非常感谢您的帮助!
您可以使用 match
在两个数据集中找到相同的 title
。
#remove Ai from B
B[-match(unique(Ai$title), B$title),]
# title misc
#1 a X
#2 b X
#5 e X
#7 g X
#remove Ai and Ar from B
B[-match(unique(c(Ai$title, Ar$title)), B$title),]
# title misc
#7 g X
数据:
Ar <- data.frame(title=c("a", "b", "e"), misc="X", stringsAsFactors = FALSE)
Ai <- data.frame(title=c("d", "c", "f"), misc="X", stringsAsFactors = FALSE)
B <- data.frame(title=letters[1:7], misc="X", stringsAsFactors = FALSE)