我有一個包含文本字符串的矢量的數據框。我試圖根據每個字符串是否包含在幾個列表之一中,並將這些字符串分配給數據幀中的新矢量,將這些字符串重新編碼爲值(0,1,2,...)。例如, :R - 根據匹配到多個列表中的一個匹配矢量值
vector = c("A", "B", "C", "D", "E")
list1 = c("B", "G", "P", "Z")
list2 = c("A", "E", "M", "Q")
list3 = everything not in list1 or list2
新載體應分配 「0」, 「1」,或 「2」,根據是否向量[i]是包含在列表1或列表2,或項目list3:
new_vector = (2, 1, 3, 3, 2)
我嘗試過%的%的各種排列,但問題是「矢量」是非常長(數十萬個元素),並且我所匹配的一些列表也相當長(10-30個元素)。我有這個工作的聲明,但是極端慢。看着苔蘚生長緩慢。
什麼是R「竅門」,用於優化加速這樣的複雜匹配場景?
OMG,這方面的成效斐然!謝謝,弗蘭克 - 你真的救了我的皮! 這絕對是我放入個人圖書館的一招。 – TPL