我想使用write.csv语句将输出定向到文件。我想写16个不同的输出文件,用扩展名1到16标记每个文件。
现在写的示例:
trackfilenums=1:16
for (i in trackfilenums){
calculations etc
write.csv(max.hsi, 'Severity_Index.csv', row.names=F)
}
我想将输出csv文件标记为“Severity_Index_1.csv”,“Severity_Index_2.csv”等。不确定如何在R语言中执行此操作。
谢谢! 金佰利
答案 0 :(得分:9)
您将需要使用粘贴命令:
write.csv(max.hsi, paste0("Severity_Index_", i,".csv"), row.names=F)
答案 1 :(得分:0)
有些人喜欢使用Name_01 Name_02等文件名而不是Name_1 Name_2等。例如,这可能会使字母顺序更合理:使用某些软件,否则,10将在1之后,20之后,等等
这种编号可以用sprintf实现:
sprintf("Severity_Index_%02d.csv", 7)
有趣的部分是%02d
- 这表示i
是一个整数值(实际上也可以使用%02i
),至少需要2个位置,并且前导零将必要时使用。
# try also
sprintf("Severity_Index_%03d.csv", 7)
sprintf("Severity_Index_%2d.csv", 7)
答案 2 :(得分:0)
为了在这里添加其他答案,我发现清理pasted
字符串以确保它对文件系统没问题也是一个好主意。为此,我有以下功能:
fsSafe <- function(string) {
safeString <- gsub("[^[:alnum:]]", "_", string)
safeString <- gsub("_+", "_", safeString)
safeString
}
这简单地删除所有非字母和非数字字符并用下划线替换它们。