在 R 中,我想用向量中的字符值替换列表中的数值

In R, I would like to replace numeric values in a list for character values in a vector

我有一个名为 temp.factors 的列表,如下所示。

$`1`
 [1]  1  2  3  4  5  6  7  8  9 10

$`2`
 [1] 11 12 13 14 15 16 17 18 19 20

 $`3`
 [1] 21 22 23 24 25 26 27 28 29 30

 $`4`
 [1] 31 32 33 34 35 36 37 38 39 40

我的目标是用来自以下名为 temp.names:

的字符向量中的值替换此列表中的值
[1] "C1"  "C2"  "C3"  "C4"  "C5"  "C6"  "C7"  "C8"  "C9"  "C10" "A1" "A2"  "A3"  "A4"  "A5"  "A6"  "A7"  "A8"  "A9" 
[20] "A10" "N1"  "N2"  "N3"  "N4"  "N5"  "N6"  "N7"  "N8"  "N9"  "N10" "O1"  "O2"  "O3"  "O4"  "O5"  "O6"  "O7"  "O8" 
[39] "O9"  "O10"

最终结果应如下所示:

$`1`
 [1] C1 C2 C3 C4 C5 C6 C7 C8 C9 C10

$`2`
 [1] A1 A2 A3 A4 A5 A6 A7 A8 A9 A10

 $`3`
 [1] N1 N2 N3 N4 N5 N6 N7 N8 N9 N0

 $`4`
 [1] O1 O2 O3 O4 O5 O6 O7 O8 O9 O10

我在网上搜索了一个可能的解决方案,但没有找到接近我想要的解决方案。您的建议将不胜感激。

谢谢!

relist的案例:

relist(temp.names, temp.factors)

您可以使用 lapply 遍历列表:

lapply(temp.factors, function(x) temp.names[x])