Tôi gặp lỗi khi thử và kết hợp sử dụng expression
với do.call
và plot
.Cách kết hợp do.call() plot() và expression()
x <- 1:10
y <- x^1.5
Tôi có thể lấy cốt truyện tôi muốn bằng cách chỉ sử dụng các chức năng plot
:
plot(y~x,xlab=expression(paste("Concentration (",mu,"M)")))
Tuy nhiên, tôi muốn thực hiện âm mưu của tôi sử dụng do.call
. Tôi có một danh sách các thông số thực sự được lưu trữ dưới dạng danh sách, p
. Tuy nhiên, khi tôi cố gắng và vượt qua danh sách để do.call
tôi nhận được lỗi sau:
p <- list(xlab=expression(paste("Concentration (",mu,"M)")))
do.call(plot,c(y~x,p))
Error in paste("Concentration (", mu, "M)") :
object 'mu' not found
Tôi cũng đã cố gắng xác định công thức một cách rõ ràng trong args truyền cho do.call
. I E. do.call(plot,c(formula=y~x,p))
. Tôi không hiểu tại sao tôi gặp lỗi - đặc biệt là vì các lỗi sau không đưa ra lỗi:
do.call(plot,c(0,p))
(và cung cấp ký tự mu mong muốn trong xaxis).
+1 cho quan sát thú vị của bạn về hành vi của 'do.call (cốt truyện, c (0, p))'. –
có thể trùng lặp của [plot() và do.call(): Làm cách nào để chuyển biểu thức cho tiêu đề cốt truyện khi '...' được sử dụng khác?] (Http://stackoverflow.com/questions/13982856/plot-and- do-call-how-to-pass-expression-to-plot-title-khi-is-used-o) – Metrics
@Metrics Tôi đã đọc câu hỏi đó trước khi đăng. – dayne