Tôi đang cố gắng tạo hoạt ảnh GIF ở R. Tôi có một loạt ma trận mà tôi muốn chuyển đổi thành hoạt ảnh GIF. Chiến lược của tôi được lấy cảm hứng từ ví dụ này:Lỗi khi chạy ImageMagick từ R: Thông số không hợp lệ
http://ryouready.wordpress.com/2010/11/21/animate-gif-images-in-r-imagemagick/
nơi đoạn mã sau tạo ra 11 PNG-Hình với "png" -function trong R. Tiếp theo nó gọi cho bên ngoài ImageMagick chương trình "chuyển đổi" để biên dịch hoạt ảnh GIF.
dir.create("examples")
setwd("examples")
# Animated countdown from 10 to "GO!".
png(file="example%02d.png", width=200, height=200)
for (i in c(10:1, "G0!")){
plot.new()
text(.5, .5, i, cex = 6)
}
dev.off()
# convert the .png files to one .gif file using ImageMagick.
system("convert -delay 80 *.png example_1.gif")
#shell("convert -delay 80 *.png example_1.gif")
Vấn đề là R dường như không finde exe-file "chuyển đổi", mà là một phần của ImageMagick và cài đặt trên C-ổ đĩa (C: \ Program Files \ ImageMagick-6.8.5 -Q16). Trong các ý kiến cho các trang web i am linking to earlier, nó được đề nghị cho người dùng Windows sử dụng "vỏ" thay vì "hệ thống" để chạy các chương trình bên ngoài nhưng không ai trong số hai công việc. Các thông báo lỗi là
Invalid parameter - 80
Warning message:
running command 'convert -delay 80 *.png example_1.gif' had status 4
Tôi đã cố gắng để thay đổi biến PATH môi trường Windows trong các thuộc tính hệ thống, như đề xuất trong answer này, nhưng PATH biến được allready corectlly xác định trên hệ thống của tôi. Tôi cũng đã cố gắng chỉ định toàn bộ chuỗi của tệp convert.exe, nhưng cũng không có may mắn ...
Làm cách nào để tôi có ImageMagick chạy qua R?
Specs: Windows 7 ServicePack 1, R 3.0.0
Cảm ơn trước ...
Thông báo lỗi bạn báo không cho biết R không tìm thấy 'chuyển đổi' ... Bạn nhận được thông báo lỗi nào khi sử dụng đường dẫn đầy đủ? Một khả năng là bạn có một chương trình 'chuyển đổi' khác trong' PATH' của bạn. Trong trường hợp bạn đã thêm thư mục vào cuối biến môi trường 'PATH', hãy thử đặt nó ở đầu thay vào đó. – flodel
Hệ thống '(" nơi chuyển đổi ", intern = TRUE)' cung cấp cho bạn là gì? – flodel
Filepath đầu tiên trong biến 'convert' là filepath của ImageMagick, chỉ cần kiểm tra lại. Khi tôi chạy mã 'hệ thống (" C:/Program Files/ImageMagick-6.8.5-Q16/convert -delay 80 * .png example_1.gif ")' dường như không có gì xảy ra. Khi tôi chạy ´shell ("C:/Program Files/ImageMagick-6.8.5-Q16/chuyển đổi -delay 80 * .png example_1.gif") ´ tôi nhận được thông báo lỗi: '' C:/Program 'là không được nhận dạng dưới dạng lệnh nội bộ hoặc bên ngoài, tệp chương trình hoặc tệp hàng loạt.' và sau đó là toàn bộ chuỗi R-lỗi. – Duffau