如何为 write.table 中的每个 .txt 生成随机数

How to generate random numbers to each .txt in write.table

我对如何为 write.table 命令生成的每个 .txt 文件生成随机数有疑问。我想将不同行的随机数写入每个 .txt 文件。

ref_file <- data.frame(id=seq(1:10)) #

这会创建 10 个带有随机样本的输出文件

lapply(seq_along(ref_file$id), function(i) write.table(sample(10,replace=F),paste0(ref_file$id[i],'.txt'), quote=FALSE, col.names = FALSE,row.names=FALSE))

我的问题是如何为每个 .txt 文件放置不同的行数。 例如 1.txt 包含 3 行样本编号,但 10.txt 可以包含 6 个随机样本编号。

提前致谢!

也许作为独立功能。

writeFiles <- function(n, maxRows=100){
  lapply(1:n,function(x) write.table(sample(sample(maxRows)[1],replace=F),paste(x,'.txt',sep=""), quote=FALSE, col.names = FALSE,row.names=FALSE))
}

writeFiles(3,10)

n 定义文件数和 maxRows 最大行数(然后这些数字是 1:maxRows.

随机长度的唯一子集