R - 不同数据帧中的相似记录
R - Similar records in different data frames
我想要数据框中的每条记录,其中每条记录的前 3 个属性等于另一个数据框中记录的相同 3 个属性。
比如我有:
File, Paragraph, Sentence, E, ED
1.txt, 1, 1, CM, C.M.
1.txt, 1, 1, LF, L.F.
1.txt, 2, 1, E, E.
1.txt, 2, 1, M, M.
1.txt, 4, 1, LF, L.F.
1.txt, 4, 1, NM, N.M.
1.txt, 6, 1, RN, R.N.
1.txt, 7, 1, AO, A.O.
我的数据框有 3 个公共列,但行数较少。
File Paragraph Sentence occurrences
1.txt 1 1 2
1.txt 2 1 2
1.txt 4 1 2
假设得到这样的东西:
File, Paragraph, Sentence, E, ED
1.txt, 1, 1, CM, C.M.
1.txt, 1, 1, LF, L.F.
1.txt, 2, 1, E, E.
1.txt, 2, 1, M, M.
1.txt, 4, 1, LF, L.F.
1.txt, 4, 1, NM, N.M.
我怎样才能有效地做到这一点?
尝试使用合并。类似的东西:
merge(x = first_data_frame, y = second_data_frame)
这将合并它们,基本上就像 SQL 中的 JOIN(找到交集),并且应该只保留具有相同文件、段落、句子的记录。然后你可以取出额外的列"occurences"。您可以阅读有关合并 here 的更多信息。
您可以使用以下命令控制要合并的列:
merge(x = first_data_frame, y = second_data_frame, by=c("File", "Paragraph", "Sentence"))
只需将 subset()
与 %in%
运算符一起使用。
subset(df, Paragraph %in% df1$Paragraph) # Assuming Paragraph is numeric in both
# File Paragraph Sentence E. ED
#1 1.txt, 1 1, CM, C.M.
#2 1.txt, 1 1, LF, L.F.
#3 1.txt, 2 1, E, E.
#4 1.txt, 2 1, M, M.
#5 1.txt, 4 1, LF, L.F.
#6 1.txt, 4 1, NM, N.M.
我想要数据框中的每条记录,其中每条记录的前 3 个属性等于另一个数据框中记录的相同 3 个属性。
比如我有:
File, Paragraph, Sentence, E, ED
1.txt, 1, 1, CM, C.M.
1.txt, 1, 1, LF, L.F.
1.txt, 2, 1, E, E.
1.txt, 2, 1, M, M.
1.txt, 4, 1, LF, L.F.
1.txt, 4, 1, NM, N.M.
1.txt, 6, 1, RN, R.N.
1.txt, 7, 1, AO, A.O.
我的数据框有 3 个公共列,但行数较少。
File Paragraph Sentence occurrences
1.txt 1 1 2
1.txt 2 1 2
1.txt 4 1 2
假设得到这样的东西:
File, Paragraph, Sentence, E, ED
1.txt, 1, 1, CM, C.M.
1.txt, 1, 1, LF, L.F.
1.txt, 2, 1, E, E.
1.txt, 2, 1, M, M.
1.txt, 4, 1, LF, L.F.
1.txt, 4, 1, NM, N.M.
我怎样才能有效地做到这一点?
尝试使用合并。类似的东西:
merge(x = first_data_frame, y = second_data_frame)
这将合并它们,基本上就像 SQL 中的 JOIN(找到交集),并且应该只保留具有相同文件、段落、句子的记录。然后你可以取出额外的列"occurences"。您可以阅读有关合并 here 的更多信息。 您可以使用以下命令控制要合并的列:
merge(x = first_data_frame, y = second_data_frame, by=c("File", "Paragraph", "Sentence"))
只需将 subset()
与 %in%
运算符一起使用。
subset(df, Paragraph %in% df1$Paragraph) # Assuming Paragraph is numeric in both
# File Paragraph Sentence E. ED
#1 1.txt, 1 1, CM, C.M.
#2 1.txt, 1 1, LF, L.F.
#3 1.txt, 2 1, E, E.
#4 1.txt, 2 1, M, M.
#5 1.txt, 4 1, LF, L.F.
#6 1.txt, 4 1, NM, N.M.