r - 具有索引向量的子集列表
问题描述
给定向量foo
,如何子集列出bar
where 以便bar
匹配的索引foo
?
bar
[[1]]
[1] "eney" "e e" "sonalisada" "ahorro" "sio" "a ene" "a" "ra" "m" "ahorro" "" "d" "cre" "genericos"
[15] "atención" "calidad" "servicio" "ine" "iuibue tes" "yrroa" "su salud" "ofertas" "mvil ares" "u"
foo
[1] 8 15 17 20 22
输出应该看起来像
[8] "ra" [15] "atención" [17] "servicio" [20] "yrroa" [22] "ofertas"
以下方法不起作用,正确的方法是什么?
which(bar[[1]] == foo)
数据:
dput(foo)
c(8L, 15L, 17L, 20L, 22L)
dput(bar)
list(c("eney", "e e", "sonalisada", "ahorro", "sio", "a ene",
"a", "ra", "m", "ahorro", "", "d", "cre", "genericos", "atención",
"calidad", "servicio", "ine", "iuibue tes", "yrroa", "su salud",
"ofertas", "mvil ares", "u"))
解决方案
bar
是一个列表,如果您只有长度为 1 的列表,您可以执行以下操作:
bar[[1]][foo]
#[1] "ra" "atención" "servicio" "yrroa" "ofertas"
或者
unlist(bar)[foo]
如果列表的长度大于 1,并且您想foo
从每个可以使用的值中获取值lapply
lapply(bar, `[`, foo)
#Or
#sapply(bar, `[`, foo)
推荐阅读
- javascript - 什么时候应该解构某些东西,什么时候不应该?JavaScript
- python - 自我机器人无法使用 cogs 运行功能?
- javascript - 难以重定向到 404 页面
- javascript - JSP Servlet 中的登录页面
- webrtc - 在阻止传出 UDP 连接的限制性防火墙后面访问 BigBlueButton
- python - 如何遍历字符串并变成字典
- r - 使用多个图形 (mfrow3d) + rglWidgets 提高 rGL HTML 性能
- mongodb - 当 created_at 字段为空或 MongoDB 中不存在时如何创建文档
- google-sheets - 数组公式和连接的问题
- postgresql - Aurora/Postgres 多主控?