如何提取 Col2 与 R 中任何 Col1 匹配的每一行
How to extract every row where the Col2 matches any Col1 in R
我有一个大型数据集、4,000 个观测值和两个变量。这两个变量是字符,特别是名称。我想删除 col2(姓氏)不完全等于任何 col 1(名字)的字符的所有行。
Here is a look at what the dataset looks like
我试过使用 %in% 但它 returns 行在 1 列而不是跨列重复。
我看到很多关于如何将一个或两个或几个特定字符串匹配到另一列然后提取的建议。但是,在这种情况下,我不确切知道我想要匹配哪些特定字符串。我希望找到一种方法让 R 为我找到那些跨列匹配项。
这里是一个示例输入 df:
First Last
Joe Weinberg
Hilton Alexander
Tom Marshall
Fred Hilton
我希望输出 df 看起来像这样:
First Last
Hilton Alexander
Fred Hilton
如有任何帮助,我们将不胜感激
像这样简单的东西怎么样?
library(dplyr)
names_to_drop <- df$First.Name
df <- df %>%
filter(!(Last.Name %in% names_to_drop))
我们可以像这样使用 subset
:
subset(df, First %in% Last | Last %in% First)
# First Last
#2 Hilton Alexander
#4 Fred Hilton
我有一个大型数据集、4,000 个观测值和两个变量。这两个变量是字符,特别是名称。我想删除 col2(姓氏)不完全等于任何 col 1(名字)的字符的所有行。
Here is a look at what the dataset looks like
我试过使用 %in% 但它 returns 行在 1 列而不是跨列重复。
我看到很多关于如何将一个或两个或几个特定字符串匹配到另一列然后提取的建议。但是,在这种情况下,我不确切知道我想要匹配哪些特定字符串。我希望找到一种方法让 R 为我找到那些跨列匹配项。
这里是一个示例输入 df:
First Last
Joe Weinberg
Hilton Alexander
Tom Marshall
Fred Hilton
我希望输出 df 看起来像这样:
First Last
Hilton Alexander
Fred Hilton
如有任何帮助,我们将不胜感激
像这样简单的东西怎么样?
library(dplyr)
names_to_drop <- df$First.Name
df <- df %>%
filter(!(Last.Name %in% names_to_drop))
我们可以像这样使用 subset
:
subset(df, First %in% Last | Last %in% First)
# First Last
#2 Hilton Alexander
#4 Fred Hilton