r - 在 r 中生成大量样本
问题描述
我有一个 50 行 4 列的数据框。我想获得许多 12 行的样本数据框可能是一百万,我不希望我的两个样本数据框相同。我使用了以下代码
df_l <- list()
for(i in 1:6000000) {
set.seed(100+i)
a <- df[sample(nrow(df),12,replace=T),]
df_l[[i]] <- a
rownames(df_l[[i]]) <- 1:12
}
但我的困惑是,这可能不是有效的方法,而且我不知道两个示例数据框是否相同。
解决方案
是的,这不是很有效。
1)您只需要设置一次种子。
2) R 是一种解释型语言,在使用基本的分支函数(例如,if、for、while ...)或变量操作(例如,a <- a+1)时非常慢。对于只需要很短时间的功能,翻译尤其需要时间。因此,您想调用一个同时执行很多操作的函数,因为当说明时,它很快,因为它可能以更快的方式实现(它们通常是编译的)。
只需将 1:6000000 与 1:12 交换并获取 6000000 的样本向量,这将使您的程序运行得更快。您只需要安排如何安排数据。
3)尝试复制
推荐阅读
- mysql - 无法在 mysql workbench 6.3 (Linux mint 18.3) 中选择表/模式
- ruby-on-rails - 在 Rails 中调用 Postgres 存储函数的最佳方法是什么?
- heroku - 将 Angular7 项目部署到 Heroku 问题
- blogs - 更新 _config.yml 后,Hexo 博客标题不会改变
- types - 在 Julia 中通过 TCP 读取复合类型
- php - 如何通过在 php 中抓取来搜索社交媒体网站上的用户名
- css - 在 Angular 8 中根据所选主题(在 ui 中选择)更改 css 类的属性
- c# - 已发布的 Windows 应用程序中发生有关无法加载文件或程序集“Microsoft.SqlServer.BatchParser”的异常
- mongodb - mongo:加载共享库时出错:libcrypto.so.1.1:无法打开共享对象文件:没有这样的文件或目录
- django - 带有来自不同模型的键的外键列