3

我对如何为命令生成的每个 .txt 文件生成随机数有疑问write.table。我想向每个 .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 个随机样本编号。

提前致谢!

4

1 回答 1

2

也许作为独立功能。

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.

于 2015-12-11T13:11:00.040 回答