我有一个脚本通过png()
输出图形文件文件名基于值(p)和观察ID ID(数值)。
> summary(p)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.05328 0.10770 0.20830 0.31140 0.42360 0.99990
> summary(id)
Min. 1st Qu. Median Mean 3rd Qu. Max.
100000000 114100000 130400000 186100000 287300000 4513000
> str(p)
num [1:223] 0.175 0.1499 0.156 0.0636 0.1628 ...
> str(id)
int [1:223] 100037005 100270001 100270002 100801001 101910002 101910003 101910007 102510001 103630003 103630005 ...
这样
png(paste(p," - ", id,".png)
我的目标是输出目录中的文件按名称排序时,按顺序递增,而id仍然在文件名中。
我无法理解为什么,但排序顺序搞砸了,就像附带的截图一样。
我有什么想法可以得到我需要的输出?只要很容易追溯到原始值,p的转换就可以了,p和id都必须在文件名中。我在Ubuntu 11.10上。
非常感谢
答案 0 :(得分:6)
转换为字符串时,您可以尝试确保p值的长度相同。使用sprintf:
pstring = sprintf("%010.8f",p)
将创建一个精确为8位小数的字符串,前导和尾随零,对于值0到1,将始终为10个字符长(零,点,然后八位小数)。
sprintf("%010.8f",runif(100))
应该告诉你它的作用。
根据您的口味调整格式,轻轻煨,服务。
答案 1 :(得分:2)
尝试
p <- gsub(".", "x", p)
png(paste(p," - ", id,".png)