R for循环,如何为每次迭代在循环外存储数据帧以避免性能下降

时间:2018-09-20 03:12:03

标签: r for-loop

im试图为200k数据集运行循环。起初,循环运行很快,随着时间的流逝,由于数据帧记录的增加,循环性能变得越来越慢。运行4小时后,仅处理了5万条记录,问题是我注意到循环越来越慢。

问题:我在想是否可以将输出数据帧存储在循环之外?这样循环性能可能会更好。

console.log("target");
console.log(target);

console.log("target.firstChild");
console.log(target.firstChild);

console.log("target.shadowroot");
console.log(target.shadowRoot);

console.log("target.firstChild.shadowroot");
console.log(target.firstChild.shadowRoot);

console.log("ha-card");
console.log(target.querySelector("ha-card"));

谢谢!

1 个答案:

答案 0 :(得分:1)

我使用rbindlist而不是rbind。 rbindlist比rbind快得多。

  1. 使列表变量。

    RESULT_DATA <-list()

  2. 输入每次迭代的数据:idx是迭代号。

    RESULT_DATA [[idx]] <-as.data.frame(list([your data]))

  3. 在循环之外,您可以使用rbindlist函数绑定结果。

    RETURN_DATA <-rbindlist(RESULT_DATA)