代码之家  ›  专栏  ›  技术社区  ›  Fino

在使用dplyr时,应该在哪个步骤将数据发送到data.table()以获得最佳性能?

  •  0
  • Fino  · 技术社区  · 6 年前

    大多数时候,我正在处理的代码的开头看起来像这样:

    data = read.csv("path") %>% 
      filter() %>% 
      select() %>% 
      mutate() %>% 
    
      data.table()
    

    是否只在最后一步将数据发送到data.table()而导致性能下降?

    1 回复  |  直到 6 年前
        1
  •  2
  •   hank_044    6 年前

    正如评论者所指出的,您可以在data.table或tidyverse中完成所有这些工作。考虑到您在dplyr中看起来更舒服,您是否希望在代码中使用data.table?

    一个很好的原因是你有一个性能问题。如果dplyr运行缓慢,那么可以将所有内容移动到data.table和fread。如果真的没有原因,也许只需将数据转换为最后一行中的tibble即可实现一致性。

    如果您希望在性能分析方面得到更可靠的答案,那么您可能应该发布更具体和可重复的内容。