R在运行时在哪里将%>%运算符的结果存储在哪里?

问题描述 投票:1回答:1

我正在尝试在我的R代码中优化长时间运行时的操作,并猜测为什么要花费太多时间。

我正在处理大数据,而我的代码是这样的:

var <- data.table(data) %>%
    select(some_features) %>%
    setnames(new_names) %>%
    merge(blablabla) %>%
    filter(screenName %in% DEFAULT_USERS) %>% 

    # Some long runtime operations because large data
    ...... %>%
    merge(some_df) %>% data.table() %>%
    select(some_boring_features)

我想像R将所有变量存储在RAM中(与所有语言相同)...但是当使用%>%时,那些正在运行的操作结果尚未存储在变量中,我建议将其存储在缓存中,而不是使用RAM内存。是吗?

最好是实例化新变量并将部分结果保存在RAM中而不是执行整个线程吗?

谢谢!

r performance caching profiling ram
1个回答
0
投票

由于您正在寻找花费时间最多的呼叫,因此实例化是我建议的路线。当然,在需要调试一系列调用时,我总是这样做。

在我看来,管道传输更多地是为了提高代码的可读性和维护性,而不是开始构建和测试正确的逻辑。 YMMV。

© www.soinside.com 2019 - 2024. All rights reserved.