【发布时间】:2017-05-29 11:00:42
【问题描述】:
我有两个因子 tID 和 fff 具有相同的水平,但长度不同,分别为 45000000 和 23000:
> head(factor(tID))
Fungi Metazoa Fungi Fungi Fungi Fungi
227321 79782 52586 1658174 573508 88771
Levels: 2 7 9 11 14 16 17 19 20 22 23 24 32 33 34 38 39 41 42 43 47 48 51 52 54 56 61 68 69 72 75 81 85 86 103 104 106 114 119 120 122 124 125 128 134 140 141 142 143 144 148 154 158 159 162 163 165 167 171 172 173 174 179 ... 1985254
head(fff)
[1] 4932 870730 34413 4932 4932 9606
Levels: 2 7 9 11 14 16 17 19 20 22 23 24 32 33 34 38 39 41 42 43 47 48 51 52 54 56 61 68 69 72 75 81 85 86 103 104 106 114 119 120 122 124 125 128 134 140 141 142 143 144 148 154 158 159 162 163 165 167 171 172 173 174 179 ... 1985254
有没有更快的方法将名称从因子 tID 映射到 fff?
我知道我可以使用 lappy() 或 sapply() 来做到这一点,但这些因子包含 450 万个元素,所以它有点慢。
【问题讨论】:
-
你能显示预期的输出吗?
-
我说你想做一个join操作。
-
再次,您更改了向量名称。请在此问题修复后通知我们