将文本保存到多个文件中
问题描述:
如何使用以下文件名在每个循环中保存输出数据:“file01.txt”,“file02.txt”,.. ?
这里是我的R代码里面的例子:将文本保存到多个文件中
data <- matrix(c(59, 50, 48, 62, 44, 34, 78, 59, 42, 67, 51, 45, 72, 64, 52),
byrow=TRUE, ncol=3)
u <- c(33, 46, 53)
for (i in 1:length(u)){
data[data<u[i]] <- NA
data <- data
print(data)
}
[,1] [,2] [,3]
[1,] 59 50 48
[2,] 62 44 34
[3,] 78 59 42
[4,] 67 51 45
[5,] 72 64 52
[,1] [,2] [,3]
[1,] 59 50 48
[2,] 62 NA NA
[3,] 78 59 NA
[4,] 67 51 NA
[5,] 72 64 52
[,1] [,2] [,3]
[1,] 59 NA NA
[2,] 62 NA NA
[3,] 78 59 NA
[4,] 67 NA NA
[5,] 72 64 NA
答
创建具有在它的文件名的字符变量,并使用write.table()
。
for(i in 1:length(u)) {
...
filename = paste("file", i, ".txt", sep="")
write.table(data, filename)
}
+5
很好的答案。如果你使用:filename = paste(“file”,sprintf(“%02d”,i),“.txt”,sep =“”),那么你将得到“file01”,“file02”...而不是“ file1“,”file2“。 – neilfws 2011-03-15 07:08:53
使用write.csv() – Andrie 2011-03-15 06:34:59
你最好养成使用seq()和冒号操作符的习惯。例如。 seq(长度(u))而不是1:长度(u)。要明白为什么,请将u的长度设置为0,并查看每个行为的表现。例如。 ü 2011-03-15 07:19:56