如何在保持字母顺序的同时输出图形

时间:2011-12-18 10:55:21

标签: r ubuntu

我有一个脚本通过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仍然在文件名中。

我无法理解为什么,但排序顺序搞砸了,就像附带的截图一样。

File Order

我有什么想法可以得到我需要的输出?只要很容易追溯到原始值,p的转换就可以了,p和id都必须在文件名中。我在Ubuntu 11.10上。

非常感谢

2 个答案:

答案 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)