我有100个向量,每个向量包含随机数。
Vector1,vector2 vector3 vector4 ... vector1000
我想把它们写成几个.txt文件,有100个不同名称的txt,每个包含一个向量。 我尝试使用for循环,但是当我尝试时失败了,这就是我长久以来所拥有的:
for (i in 1:100) {
filename<-paste("textfile", i, ".txt", sep = "")
writeLines(vector[i], filename)
}
更新 我的向量是整数,我创建它们是这样的:
x=1
While (x < 101)
{
vectorx<- sample(1:5000,1000, replace = T)
assign(paste("vector",x,sep=""),vectorx)
x=x+1
}
答案 0 :(得分:2)
可能有更好的方法可以做到这一点,但只需对代码进行少量修改即可尝试
for (i in 1:100) {
filename <- paste0("textfile", i, ".txt")
writeLines(as.character(get(paste0("vector",i))), filename)
}
答案 1 :(得分:0)
试试这个
# We have to use **get** for bringing the value out of the variable
for (i in 1:10)
{
filename<-paste("textfile", i, ".txt", sep = "")
writeLines(get(paste("vector",i,sep="")), filename)
}
答案 2 :(得分:0)
不完全是您问题的答案,但可能是您问题的解决方案:
# create an empty list
x <- NULL
# fill it with the random samples you want to create
for( i in 1:100 ) x[[ i ]] <- sample( 1:5000, 1000, replace = TRUE )
# write each sample to a file
for( i in 1:100 ) cat( x[[ i ]], file = paste( "vector", i, ".txt", sep = "" ) )
显然,您可以结合最后两个步骤,创建一个示例并立即将其写入文件:
for( i in 1:100 )
{
x[[ i ]] <- sample( 1:5000, 1000, replace = TRUE )
cat( x[[ i ]], file = paste( "vector", i, ".txt", sep = "" ) )
}