在 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])
我有一个名为 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])