如何将replicate生成的多值结果整合为含x、y列的DataFrame?
解决方法
你可以通过以下几种方式将replicate返回的结果合并成一个包含x、y两列的DataFrame:
方法1:基础R函数组合
replicate执行后得到的results是一个包含10个单行DataFrame的列表,用do.call(rbind, results)就能把这些小DataFrame按行合并:
results <- replicate(10, myf()) combined_df <- do.call(rbind, results)
方法2:tidyverse工具实现
如果你习惯使用tidyverse生态,可借助dplyr包的bind_rows()函数合并,代码更简洁直观:
library(dplyr) results <- replicate(10, myf()) combined_df <- bind_rows(results)
补充说明
replicate返回列表的原因:你的myf()每次返回DataFrame对象,replicate默认保留该结构,最终生成包含多个小DataFrame的列表。- 两种方法都会生成一个10行2列的DataFrame,完整包含所有x、y的生成结果。
内容的提问来源于stack exchange,提问作者mspices
相关产品推荐
相关产品推荐

