R.如何检查一个数据集是否在另一个数据集中包含相同的元素

时间:2019-03-20 14:51:22

标签: r

我有2个数据集Dataset2016_17PlayOffDataset2016_17Dataset2016_17$TEAM如下所示。

[1] "Atlanta Hawks" "Boston Celtics" "Brooklyn Nets" etc.

所以我想知道Dataset2016_17$TEAM中是否出现PlayOffDataset2016_17$TEAM中的值。如果是这样,我想要一个真假表。

我已经尝试过这样的事情

highlight_flag <- grepl(PlayOffDataset2016_17$TEAM, Dataset2016_17$TEAM)

但是没有用。 请让我知道是否有任何建议。

2 个答案:

答案 0 :(得分:1)

尝试table(unique(Dataset2016_17$TEAM) %in% unique(PlayOffDataset2016_17$TEAM))

答案 1 :(得分:1)

通常,您应该为问题提供样本输入和所需的输出。这可以帮助我们了解您想要什么,并迅速帮助您。

# sample data 
Dataset2016_17 = data.frame(TEAM = c('a', 'b', 'c'))
PlayOffDataset2016_17 = data.frame(TEAM = c('b', 'c', 'd'))

您的目标不是很清楚,您说“表”,但是另一个答案给了您一个table对象,那不是您想要的...下次,在您的问题中,包括期望的您提供的示例输入的输出。

我最好的猜测是您想要其中之一。如果您还需要其他内容,请编辑问题以显示所需内容。

## teams in both
intersect(Dataset2016_17$TEAM, PlayOffDataset2016_17$TEAM)
# [1] "b" "c"

## teams in Dataset but not playoffs
setdiff(Dataset2016_17$TEAM, PlayOffDataset2016_17$TEAM)
# [1] "a"

## add a column to Dataset indicating whether the team is in the playoffs
Dataset2016_17$in_playoff = Dataset2016_17$TEAM %in% PlayOffDataset2016_17$TEAM
Dataset2016_17
#   TEAM in_playoff
# 1    a      FALSE
# 2    b       TRUE
# 3    c       TRUE