R高效迭代data.frame
使用R时,常需要迭代data.frame的每行数据,如果操作不当,效率会大打折扣。看看下面的代码
输出结果如下:
可以看到,逐行迭代效率最低,向量化效率最高,内置函数稍微比向量化方法差一点(可能由于函数调用会有一定耗时)。原因是R在逐行处理data.frame时,会产生冗余的内存拷贝,导致效率降低,而向量操作不会。所以,好的习惯是能用向量操作,就不要逐行操作,只有那些迭代次数不确定的时候,才需要逐行操作。
参考
您的打赏是对我最大的鼓励!
使用R时,常需要迭代data.frame的每行数据,如果操作不当,效率会大打折扣。看看下面的代码
输出结果如下:
可以看到,逐行迭代效率最低,向量化效率最高,内置函数稍微比向量化方法差一点(可能由于函数调用会有一定耗时)。原因是R在逐行处理data.frame时,会产生冗余的内存拷贝,导致效率降低,而向量操作不会。所以,好的习惯是能用向量操作,就不要逐行操作,只有那些迭代次数不确定的时候,才需要逐行操作。
您的打赏是对我最大的鼓励!