r - R 中列表的 which() 函数

标签 r text-mining

这应该很容易,但我希望找出如何返回包含一个元素的列表的索引。例如,在下面的列表中,假设我想找到所有以“a”为元素的索引。我想要一个函数来返回索引 1。

> x = list(c("a", "b"), "c")

> x
[[1]]
[1] "a" "b"

[[2]]
[1] "c"

> which(x=="a")

integer(0)

当然,which() 在这里不起作用。任何帮助将不胜感激!

最佳答案

您需要遍历列表元素并检查每个集合中的元素。

sapply(x, function(e) is.element('a', e))
## [1]  TRUE FALSE
which(sapply(x, function(e) is.element('a', e)))
## [1] 1

sapply 表达式返回一个逻辑向量,表示存在 a 列表的每个元素,which 返回该列表的索引TRUE 元素。

关于r - R 中列表的 which() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24098836/

相关文章:

nlp - 从文本中提取位置的方法?

machine-learning - 比 tf/idf 和余弦相似度更好的文本文档聚类?

删除 ggplot2 中 geom_ribbon 的图例键周围的填充

java - 使用特殊符号的单词变体集合

Rvest 提交表单时找不到可能的提交目标

r - 在 R 中的 ggplot2 中操作数据点的值

python - 在Python中从列表的列表创建列表

python - 从数据框格式的文本列中提取单词

r - 按年份生成固定长度的随机id作为字符

生成 pdf 时 R knitr 错误 41(windows)