我有一个大数据集,4,000个观察值和两个变量。这两个变量是字符,特别是名称。我要删除col2(姓氏)不完全等于ANY col 1(名字)的字符的任何行。
Here is a look at what the dataset looks like
我尝试使用%in%,但它返回在1列上重复而不是跨列的行。
我已经看到了很多关于如何将一个或两个或几个特定的字符串与另一列匹配然后提取的建议。但是,在这种情况下,我不完全知道我要匹配的那些特定字符串。我希望找到一种方法让R为我找到那些交叉列匹配项。
这里是输入df的示例:
First Last
Joe Weinberg
Hilton Alexander
Tom Marshall
Fred Hilton
我希望输出df看起来像这样:
First Last
Hilton Alexander
Fred Hilton
任何帮助将不胜感激
subset(df, First %in% Last | Last %in% First)
# First Last
#2 Hilton Alexander
#4 Fred Hilton
library(dplyr)
names_to_drop <- df$First.Name
df <- df %>%
filter(!(Last.Name %in% names_to_drop))
所以最后这就是我的建议...大声笑名字必须在第二个名字上,反之亦然
df %>% subset(Second.Name %in% df$First.Name | First.Name %in% df2$Second.Name)