我是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