【问题标题】:Is there a function in R that can return an element of a dataframe based on its neighboring row elements?R中是否有一个函数可以根据其相邻行元素返回数据框的元素?
【发布时间】:2021-03-16 10:06:38
【问题描述】:

我正在做主题建模,并且我有一个数据框(或来自 tidyverse 的 tibble),其主题词概率如下:

dataframe with topic-word probabilities

所有单词出现 9 次,因为我有一个包含 9 个主题的模型,并且它们的主题概率在 beta 列中找到。我希望能够像这样调用每个单词及其相关主题的 beta 值:

beta_w_t = f(w,t)

我已经尝试过 which 功能,但它似乎并没有完成这项工作。他们的这样一个函数是内置在 R 中的,还是我必须自己定义一个?

【问题讨论】:

  • 欢迎来到 SO!如果您提供最小可重复的示例,您将最大限度地获得有用的答案。 This post 可能会有所帮助。特别是,在这里您应该使用dput() 而不是作为图像发布您的输入数据集,并发布您的预期输出。

标签: r function tidyverse lda topic-modeling


【解决方案1】:

您是否尝试过来自 dplyr 的filter()?如果我理解你的问题是正确的,这就是你需要做的 beta_wx_t3 <- filter(your_table, topic == 3 & str_detect(term, 'x') 过滤掉主题3和包含'x'的词

如果您想获得部分匹配,str_detect() 很有用,但如果您愿意,也可以使用 term == 'x'

此外,如果您搜索特定的操作词(如本例中的过滤器)以及 tidyverse,您通常会得到您需要的功能(或用户编写的功能的堆栈交换提示)同样)5分钟内!

Tidyverse 是一个不错的 R 生态系统,其中包含许多包,其中包含使用动作词(动词)编写的功能以及易于理解的格式的出色文档。我发现自己在大多数与 R 相关的 Google 搜索中都添加了这个关键字!

dplyr reference

【讨论】:

  • 非常感谢伙计。我在网上搜索了这样一个功能,但我可能应该使用搜索词“过滤器”而不是我的其他尝试。无论如何它都有效,所以谢谢!
  • 很高兴能帮上忙。如果您的问题得到了满意的回答,您应该考虑通过单击左侧的绿色复选标记来接受答案。这样做可以使社区因有用的答案和问题而获得奖励。谢谢!
猜你喜欢
  • 2015-08-15
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-05
  • 1970-01-01
  • 2023-04-07
  • 2018-05-17
相关资源
最近更新 更多