r - 并行计算 15 行(通过矢量化)并用它们创建 df

标签 r lapply

我正在数据框中创建 15 行,如下所示。我无法显示我的真实代码,但创建行函数涉及可以放入函数中的复杂计算。关于如何使用 lapply、apply 等并行创建所有 15 个行,然后将所有行连接到一个数据帧中,有什么想法吗?我认为使用 lapply 会起作用(即将所有行放入列表中,然后取消列表并连接,但不完全确定如何执行此操作)。

for( i in 1:15 ) {
    row <- create_row()
    # row is essentially a dataframe with 1 row
    rbind(my_df,row)
}

最佳答案

这样的东西应该适合你,

create_row <- function(){
  rnorm(10, 0,1)
}

my_list <- vector(100, mode = "list")
my_list_2 <- lapply(my_list, function(x) create_row())
data.frame(t(sapply(my_list_2,c)))

create_row 函数只是使示例可重现,然后我们预定义一个空列表,然后用 create_row() 函数的结果填充它,然后将结果列表到数据框。

或者,预定义一个矩阵并在行边距上使用 apply 函数,然后使用 t(转置)函数,以获得正确的输出,

df <- data.frame(matrix(ncol = 10, nrow = 100))
t(apply(df, 1, function(x) create_row(x)))

关于r - 并行计算 15 行(通过矢量化)并用它们创建 df,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56100999/

相关文章:

r - 获取每个分类变量的 lm 估计值

c++ - RccpArmadillo 和 RccpGSL 未在 Windows 的 RStudio 中加载

r - 模态值(最常见)的简明 R data.table 语法(按组)

r - 使用 lapply 列出 R 中每一列中空变量的百分比

r - 按值过滤列表的列表

r - 如何确定字符向量是有效的数字向量还是整数向量

r - 使用 Arima 模型预测不在序列结束之前的时期的值

r - 在 R 中对字符向量进行排序

r - 创建一个函数,提供与 R 中的 lapply 相同的结果

r - 子集嵌套列表仅包含向量中命名的元素