gpt4 book ai didi

r - R中迭代构建的数据框

转载 作者:行者123 更新时间:2023-12-04 00:51:11 27 4
gpt4 key购买 nike

我对 R 比较陌生,想知道迭代构建数据帧的最有效方法(一次一行,迭代次数“n”和每行“l”的长度是事先知道的)。

  • 创建空数据框,每次迭代添加一行
  • 预分配 n x l 数据帧,每次迭代修改一行
  • 预分配 n x l 矩阵,每次迭代修改一行,从矩阵
  • 制作数据帧
  • 别的
  • 最佳答案

    预分配!!!

    并使用 matrix如果数据都是相同的类型。它会比 data.frame 快得多.

    例如:

    > n <- 1000      # Number of rows
    > row <- 1:20*1 # one row
    >
    > # Adding row, one-by-one
    > Data <- data.frame()
    > system.time(for(i in 1:n) Data <- rbind(Data,row))
    user system elapsed
    2.18 0.00 2.18
    >
    > # Pre-allocated data.frame
    > Data <- as.data.frame(Data)
    > system.time(for(i in 1:n) Data[i,] <- row)
    user system elapsed
    0.94 0.00 0.93
    >
    > # Pre-allocated matrix (fast!)
    > Data <- as.matrix(Data)
    > system.time({ for(i in 1:n) Data[i,] <- row; Data <- as.data.frame(Data) })
    user system elapsed
    0 0 0

    关于r - R中迭代构建的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4034059/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com