【问题标题】:Look up data in a column based on a value in another column, same row根据同一行的另一列中的值查找列中的数据
【发布时间】:2019-02-28 21:49:51
【问题描述】:

我有一个包含 6 列 (A-F) 和超过 200K 行的数据框。我想在 B 列(命名词)中查找一个字符串,并在同一行的另一列 D(tf 值)中找到它的对应值。

例如,我希望输出为:

字:加密,tf:0.009041。

我宁愿不使用循环,但如果需要,我愿意接受建议,因为 df 很大。 非常感谢您的宝贵时间。

【问题讨论】:

  • (1) 请不要发布代码/数据/错误的图像:它不能被复制或搜索 (SEO),它会破坏屏幕阅读器,并且它可能不适合某些移动设备.参考:meta.stackoverflow.com/a/285557/3358272(和xkcd.com/2116)。 (2)您对如何选择行的描述不清楚,请详细说明。有关如何很好地提出问题的指导,请浏览以下一项或多项:stackoverflow.com/questions/5963269stackoverflow.com/help/mcvestackoverflow.com/tags/r/info
  • 感谢您的指导。我编辑了问题以更好地反映我的询问,并从我自己的数据框中删除了图像。
  • 我认为你错过了其中一个重点,肖恩。数据图像不好。没有数据更糟糕。 “我需要将我的数据框从 转换为 不是寻求帮助的好方法。 阅读我提供的链接;它们不是我的懒惰或流鼻涕,这些恰好是简洁且广为接受的规范,用于如何更好地提出您的问题并提高获得相关答案的可能性,更快。将来,如果您第一次就全部完成,那么您获得好答案的变化会很大,而它在问题列表中仍然是“新的”。

标签: r dataframe extract lookup


【解决方案1】:

可能是我不明白这个问题,但这是你想要的吗?

library(dplyr)
tf <- yourdata %>%
    filter(Word == 'encryption') %>%
    select(tf)

这将创建一个仅包含 tf 列和 Word 值为“加密”的行的数据框。如果您希望在 Class 或 Word 列中包含一组单词中的任何一个的行,您可以这样做:

library(dplyr)
wordset <- c('hockey','encryption')
tf <- yourdata %>%
    filter(Class %in% wordset | Word %in% wordset) %>%
    select(tf)

【讨论】:

  • 是的,就是这样。非常感谢您的帮助。
  • Shawn:虽然不是必需的,但 StackExchange 网站上的惯例是,当一个或多个答案可以接受时,请accept one of them;这样做不仅为回答者提供了一些积分,而且还为有类似问题的读者提供了一些关闭。尽管您只能接受一个答案,但您可以选择对您认为有帮助的人进行投票。 (如果仍有问题,您可能需要编辑您的问题并提供更多详细信息。)
猜你喜欢
  • 2021-10-11
  • 2018-07-02
  • 1970-01-01
  • 1970-01-01
  • 2021-12-30
  • 1970-01-01
  • 1970-01-01
  • 2018-12-11
  • 1970-01-01
相关资源
最近更新 更多