我有两个向量:

duplicated_q <- c(q142 = "q42", q143 = "q43", q144 = "q44", q145 = "q45", q146 = "q46", 
q192 = "q42", q193 = "q43", q194 = "q44", q195 = "q45", q196 = "q46", 
q197 = "q47", q198 = "q48", q199 = "q49", q200 = "q50", q201 = "q51")

modified_q <- c(q42 = "q22", q42 = "q32", q43 = "q23", q43 = "q33", q44 = "q24", 
q44 = "q34", q45 = "q25", q45 = "q35", q46 = "q26", q46 = "q36", 
q47 = "q27", q48 = "q28", q49 = "q29", q50 = "q30", q51 = "q31"
)

> duplicated_q
q142  q143  q144  q145  q146  q192  q193  q194  q195  q196  q197  q198  q199  q200  q201 
"q42" "q43" "q44" "q45" "q46" "q42" "q43" "q44" "q45" "q46" "q47" "q48" "q49" "q50" "q51"

> modified_q
q42   q42   q43   q43   q44   q44   q45   q45   q46   q46   q47   q48   q49   q50   q51 
"q22" "q32" "q23" "q33" "q24" "q34" "q25" "q35" "q26" "q36" "q27" "q28" "q29" "q30" "q31"

我需要使用具有重复值的duplicated_qmodified_q中提取.这种构造是错误的:

> modified_q[duplicated_q]
  q42   q43   q44   q45   q46   q42   q43   q44   q45   q46   q47   q48   q49   q50   q51 
"q22" "q23" "q24" "q25" "q26" "q22" "q23" "q24" "q25" "q26" "q27" "q28" "q29" "q30" "q31" 

如何获得下面的矢量?

  q42   q43   q44   q45   q46   q42   q43   q44   q45   q46   q47   q48   q49   q50   q51 
"q22" "q23" "q24" "q25" "q26" "q32" "q33" "q34" "q35" "q36" "q27" "q28" "q29" "q30" "q31" 

推荐答案

您可以使用pmatch(),它有一个参数duplicates.ok(默认为FALSE),该参数控制与之匹配的元素是否应该多次使用.

modified_q[pmatch(duplicated_q, names(modified_q))]

#   q42   q43   q44   q45   q46   q42   q43   q44   q45   q46   q47   q48   q49   q50   q51
# "q22" "q23" "q24" "q25" "q26" "q32" "q33" "q34" "q35" "q36" "q27" "q28" "q29" "q30" "q31"

R相关问答推荐

如何通过r中每20滚动和来创建组将数据视为1:10

在R中使用自定义函数时如何删除该函数的一部分?

查找满足SpatRaster中条件的单元格位置

geom_Ribbon条件填充创建与数据不匹配的形状(ggplot 2 r)

如何修复R码的置换部分?

带有叠加饼图系列的Highmap

基于不同组的列的相关性

在某些栏和某些条件下,替换dfs列表中的NA

如何得到R中唯一的组合群?

在GGPLATE中将突出的点放在前面

对于变量的每个值,仅 Select 包含列表中所有值的值.R

传递ggplot2的变量作为函数参数—没有映射级别以正确填充美学

在使用bslb和bootstrap5时,有没有办法更改特定dt行的 colored颜色 ?

给定开始日期和月份(数字),如何根据R中的开始日期和月数创建日期列

为什么我使用geom_density的绘图不能到达x轴?

将多个列值转换为二进制

当每个变量值只能 Select 一次时,如何从数据框中 Select 两个变量的组合?

Ggplot2如何找到存储在对象中的残差和拟合值?

如何使用grepl()在数据帧列表中 Select 特定字符串?

Data.table::Shift type=允许扩展数据(&Q;LAG&Q;)