[問題] 資料名稱變換

作者: lambking (BB)   2015-07-21 23:24:28
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
資料格式為vector 每個編號都有其對應的真實名稱
例如:
> com
$`1`
[1] 112 120 126 146 149 177 178 179 188 193 198 200 203 218 219
$`2`
[1] 89 90 91 92 93 95 170 201
$`3`
[1] 11 25 72 73 75 76 78 83 84
編號的真實名稱
> nodelist
[1] 360600439 360609647 360625879 360636579 363686639 363689140 375007656
375008747 375008933 375034751 375035258
想將所有vector內的編號轉成其對應的名稱
[程式範例]:
for (i in com[1]){
new.com=nodelist[i]
}
想請問在com中有多個vector 如果用for loop應該怎麼在vector 中循環呢?
或有其他較快的方法可以推薦嗎?
謝謝
[環境敘述]:
R version 3.1.1 (2014-07-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
作者: celestialgod (天)   2015-07-21 23:36:00
其實看不太懂,你的名稱有十一個,可是list裡面元素又不是十一個如果你是兩個list,一個list是多個向量,另一個是每個向量對應的名稱,那麼就用mapply如果你是一個向量list,有每個值的對應名稱矩陣,先用lapply跟match做出每個向量對應的名稱,再用上面方法做
作者: lambking (BB)   2015-07-21 23:49:00
抱歉 沒說清楚 每個元素都有其對應的名稱剩餘的沒貼上來
作者: celestialgod (天)   2015-07-22 00:00:00
可是你只有名稱沒有對應的值,還是順序是按照你值的大小排,像是第一個名稱對應到1?如果是如上面所說就用new.com=sapply(com, functiob(x) nodelist[x])
作者: lambking (BB)   2015-07-22 00:12:00
名稱的排序是如你說說照順序排的感謝!

Links booklink

Contact Us: admin [ a t ] ucptt.com