r - 从 R 中的迭代函数的输出中堆叠数据帧
问题描述
我已经编写了一个函数并尝试进行迭代,以便列表中的每个值都成为函数的输入一次。
repeat100 <- function(B) {
se100 <- replicate(100, bootandse(B))
bandse <- data.frame("B" = B, "SE" = se100)
}
此函数的输出是一个数据框,其中一列用于输入的 B 的值,另一列用于 SE。像这样,但有 100 行。
B SE
1 2
1 4
1 3
我有一个具有多个值的对象 B。我正在尝试在 B 的每个值上迭代 repeat100()。
B <- c(1, 4, 6, 20, 30)
我怎样才能让结果输出成为一个数据帧,其中每个重复100()的输出对于 B 的每个值都像这样堆叠?
B SE
1 2
1 3
1 2
4 5
4 3
4 2
解决方案
使用lapply
withrbind
将数据合并到一个数据框中。
result <- do.call(rbind, lapply(B, repeat100))
或者purrr::map_df
哪个更短。
purrr::map_df(B, repeat100)
推荐阅读
- c# - 禁用 Program 类中的依赖注入范围验证功能?
- pandas - Pandas 数据透视表/groupby 计算加权平均值
- c - 连接到 localhost:30000 被拒绝,即使我知道它正在监听
- python-3.x - shutil.copyfileobj 但没有标题或跳过第一行
- dialogflow-es - 如何以编程方式访问 DialogFlow 中的参数提示
- ios - Google Sign In 调用 App Delegate 中的方法后关闭 View Controller (iOS / Swift)
- python - 如何根据 ID 号列表乘以列值?
- c# - 使用 LINQ 获取嵌套列表的计数列表
- css - Safari flexbox 文本换行问题
- scala - 用于异构列表(不是元组)的 Spark 数据集编码器