【问题标题】:Compare two colums in diffrents tables比较不同表中的两列
【发布时间】:2020-11-23 13:30:30
【问题描述】:

假设我有两个表,表 A 和表 B,我想比较某个列。

例如,

表 A 有以下列:

姓名、姓氏、家庭、物种

表 B 有以下列:

IP、基因、类型、物种、模型

如何比较两个表之间的 Species 列以获取匹配项,这意味着我要提取两个表中存在的物种名称?

例如,如果第一个物种列有

a b c d e f g h i

信息和第二物种列有

k l m n a b y i l

我想要这个结果:

a b 我

你能告诉我如何做到这一点,如果有的话我可以在没有加入的情况下做到这一点

非常感谢

【问题讨论】:

  • minimal reproducible example 会有所帮助,还有一些格式可以使您想要的内容更清晰。另外,请尝试在您的问题中完善英语。

标签: r join datatable static


【解决方案1】:

尝试这些选项中的任何一个。我使用了虚拟数据:

#Data
TableA <- data.frame(Species=c('a','b','c','d','e','f','g','h','i'),
                     Var=1,stringsAsFactors = F)
TableB <- data.frame(Species=c('k','l','m','n','a','b','y','i','l'),
                     Var2=2,stringsAsFactors = F)
#Option1
TableA$Species[TableA$Species %in% TableB$Species]
#Option 2
intersect(TableA$Species,TableB$Species)

在这两种情况下,输出都是:

[1] "a" "b" "i"

【讨论】:

  • 你好,谢谢你的回答,其实物种栏目我有500多行,所以我不能像你那样写每一行的信息('a','b' ,'c','d','e','f','g','h','i') 这只是一个例子来说明我想要的结果,谢谢
  • @James 总是很高兴,如果您有任何疑问,请告诉我。希望代码对你有用!
  • 是的,谢谢,但如果有其他方法我可以做到,因为我无法写出所有行的所有名称
  • @James 你不需要那样写。这只是一个例子。您可以直接获取存储在数据中的变量。我使用了该示例,因为您没有共享数据。只考虑以#Option1 开头的行。让我知道现在是否清楚!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-27
  • 2021-04-24
  • 1970-01-01
  • 1970-01-01
  • 2020-11-28
  • 2019-03-08
相关资源
最近更新 更多