我是R的新用戶,我不知道如何改進以下腳本。我聽說過應用功能,但我沒有設法使用它們。 這裏是我的問題:通過使用應用函數避免for循環
我有兩個數據幀,第一個叫data
,第二個叫eco
。 data
有超過100萬行和eco
90.000。他們都有一個共同的列名爲id
。對於一個id
,他們在data
幾行對應的植物物種的存在。
我想通過在數據幀中提供一個值給id
eco
如果一個特定種類的存在或data
在同一id
缺少symplify此。這些信息將出現在sp
的eco
列中。
我在for循環腳本,它需要時間來運行:
for (k in (1:nrow(data))) {
if (data[k, "sp"]==1) #sp corresponds to one specific specie
{
eco[which(eco$id==data[k, "id"]), "sp"] = 1 # before this, the "sp" columnis empty in eco
}
}
我怎麼能提高呢?
非常感謝您的幫助。
@ SimonO'Hanlon感謝您的評論。我更新了我的答案 –
這就是我一直在尋找的。非常感謝,它沒有時間跑! – user3443183