Как вывести графику при сохранении алфавитного порядка - PullRequest
3 голосов
/ 18 декабря 2011

У меня есть скрипт для вывода графических файлов через png ()

имя файла основано на значении (p) и идентификаторе идентификатора наблюдения (числовое значение).

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

Моя цель состоит в том, чтобы файлы в выходном каталоге при сортировке по имени находились в порядке возрастания p, а идентификатор все еще находится в имени файла.

Не могу понять, почему, но порядок сортировки нарушен, как на скриншоте.

File Order

Есть идеи, как мне получить результат, который мне нужен? Преобразование p в порядке, если можно легко вернуться к исходному значению, а p и id должны быть в имени файла. Я на Ubuntu 11.10.

Большое спасибо

Ответы [ 2 ]

6 голосов
/ 18 декабря 2011

Вы можете попытаться убедиться, что значения p имеют одинаковую длину при преобразовании в строки.Используйте sprintf:

pstring = sprintf("%010.8f",p)

создаст строку с ровно 8 десятичными числами, начальными и конечными нулями, а для значений от 0 до 1 всегда будет длина в 10 символов (ноль, точка, затем восемь десятичных знаков).

sprintf("%010.8f",runif(100))

должен показать вам, что он делает.

Отрегулируйте формат по своему вкусу, осторожно кипите, подавайте.

2 голосов
/ 18 декабря 2011

Попробуйте

p <- gsub(".", "x", p)
png(paste(p," - ", id,".png)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...