将多个向量导出到文本文件

时间:2015-08-12 08:17:15

标签: r

我有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 

}

3 个答案:

答案 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 = "" ) )
}