带“.”的最终元素没有正确写入文件
Final element with '.' does not write correctly to file
我有一个很长的十进制值向量:
spect <- c(0.0005862, 0.0005983, 0.0006225, 0.0006637, 0.0006622, 0.0006197, 0.0005990, 0.0005983, 0.0006247, 0.0006707, 0.0006641)
使用 gsub,我尝试每次取 5 个元素并写入文件中的一行(感谢用户 akrun)
cat(gsub("\s*(([0-9.]+\s+){1,4}\d+)", "\1\n",
paste(unlist(spect), collapse=" ")), '\n', file = "file.txt")
但是输出看起来像这样:
0.0005862 0.0005983 0.0006225 0.0006637 0
.0006622 0.0006197 0.000599 0.0005983 0
.0006247 0.0006707 0
.0006641
是什么原因导致最后一个元素没有写正确,在'.'之前另起一行?
结果应如下所示:
0.0005862 0.0005983 0.0006225 0.0006637 0.0006622
0.0006197 0.000599 0.0005983 0.0006247 0.0006707
0.0006641
如果您有矢量输入,则不需要正则表达式来执行此操作。尝试:
cat(paste0(tapply(spect, ceiling(seq_along(spect)/5),
paste0, collapse = ' '), collapse = '\n'), file = "file.txt")
我有一个很长的十进制值向量:
spect <- c(0.0005862, 0.0005983, 0.0006225, 0.0006637, 0.0006622, 0.0006197, 0.0005990, 0.0005983, 0.0006247, 0.0006707, 0.0006641)
使用 gsub,我尝试每次取 5 个元素并写入文件中的一行(感谢用户 akrun)
cat(gsub("\s*(([0-9.]+\s+){1,4}\d+)", "\1\n",
paste(unlist(spect), collapse=" ")), '\n', file = "file.txt")
但是输出看起来像这样:
0.0005862 0.0005983 0.0006225 0.0006637 0
.0006622 0.0006197 0.000599 0.0005983 0
.0006247 0.0006707 0
.0006641
是什么原因导致最后一个元素没有写正确,在'.'之前另起一行?
结果应如下所示:
0.0005862 0.0005983 0.0006225 0.0006637 0.0006622
0.0006197 0.000599 0.0005983 0.0006247 0.0006707
0.0006641
如果您有矢量输入,则不需要正则表达式来执行此操作。尝试:
cat(paste0(tapply(spect, ceiling(seq_along(spect)/5),
paste0, collapse = ' '), collapse = '\n'), file = "file.txt")