r - 如何根据 R 中 data.frame 中给出的数据获取列表中所有元素的索引?
问题描述
我有一个数据框和一个列表,如下所示:
> df
value
1 5
2 25
3 6
4 70
并列出:
> y
[[1]]
[1] 5 6 70 25
[[2]]
[1] 6 70 5 25
如何使列表返回每个元素的索引,使其成为:
> y
[[1]]
[1] 1 3 4 2
[[2]]
[1] 3 4 1 2
解决方案
我们可以通过循环并匹配 'df' 的 'value' 列match
来获取索引list
lapply(y, function(x) match(x, df$value))
#[[1]]
#[1] 1 3 4 2
#[[2]]
#[1] 3 4 1 2
或者没有匿名函数
lapply(y, match, df$value)
数据
df <- data.frame(value = c(5, 25, 6, 70))
y <- list(c(5, 6, 70, 25), c(6, 70, 5, 25))
推荐阅读
- java - JavaFX 未启动
- git - 返回“初始提交”会产生不完整的文件
- javascript - 为什么我的编辑页面在 Laravel 中不起作用?我使用了 vue.js
- google-cloud-platform - 为什么 Bigquery 的日内表中有随机日期数据?
- sql - 具有非固定长度页面大小的 SQL 分页
- go - 如何将 []string 转换为 ...string 函数参数
- javascript - 如何使用简单的 html 代码调用 api?
- python - 在 python 中附加 for 循环的输出时,为什么每次附加都得到列名?
- drop-down-menu - 如何使用具有不同字体大小的列表项创建 DropDownlist(jquery 的 Kendo UI)
- loops - 简单的 for 循环程序有问题。类似的代码有完全不同的结果