Tôi đang cố sửa đổi các dấu chấm (...) bên trong một hàm tùy chỉnh. Dưới đây là ví dụ đơn giản về hàm plot2
của tôi, hiển thị âm mưu trên màn hình với type="p"
(mặc định) và tiết kiệm một svg với type="l"
. Vấn đề hiển thị khi một trong các tùy chọn lô đất ...
đã có trong chức năng. Trong ví dụ này, "type"
được đối sánh bởi nhiều đối số thực tế.Sửa đổi dấu chấm (...) bên trong một hàm
plot2 <-function(...){
plot(...) #visible on screen
svg("c:/temp/out.svg") #saved to file
plot(...,type="l")
dev.off()
}
#This works
plot2(1:10)
#This does not work because type is redefined
plot2(1:10, type="o")
Tôi đã cố gắng để đưa các dấu chấm trong một list
bên trong hàm và sửa đổi nó, nhưng plot
không chấp nhận một danh sách như một đầu vào.
#Does not work
plot2 <-function(...){
plot(...)
dots <<-list(...)
print(dots)
if("type" %in% names(dots)) dots$type="l"
print(dots)
svg("c:/temp/out.svg")
plot(dots)
dev.off()
}
plot2(1:10, type="o")
Error in xy.coords(x, y, xlabel, ylabel, log) :
'x' is a list, but does not have components 'x' and 'y'
Cảm ơn bạn. Đơn giản và hiệu quả. –