Tôi đang cố gắng cố gắng vẽ biểu tượng Hy Lạp dưới dạng nhãn trục. Do cho Looping nhiều thửa với quy mô khác nhau, tôi muốn sử dụng một vector chứa tên biểu tượng thay vì sử dụng tên biểu tượng trong expression()
, mà hoạt động tốt:Vẽ nhãn trục với các biểu tượng Hy Lạp từ một vector
x <- rnorm(10, 5,6)
y <- rnorm(10, 2,1)
xlab <- expression(paste(mu, "mol/mol"))
plot(x,y, xlab = xlab)
Đối với một số lý do, tôi không thể thay thế "mu" với một vector chứa tên biểu tượng:
k <- "mu"
xlab <- expression(paste(get(k), "mol/mol"))
plot(x,y, xlab = xlab)
tôi tìm thấy một tương tự question, nhưng những gì làm việc cho các chức năng dường như không làm việc cho các ký hiệu Hy Lạp:
ylab <- substitute(paste(nn, "mol/mol"), list(nn=k))
xlab <- bquote(.(k) * "mol/mol")
plot(x,y, ylab = ylab, xlab = xlab)
Tôi làm gì sai? Làm thế nào để có được một biểu tượng Hy Lạp để nhãn trục thông qua một vector?
biểu thức là một chức năng nguyên thủy. Nó không đánh giá các đối số của nó. – vinux
Trợ giúp [câu hỏi này] (http://stackoverflow.com/questions/10042258/generate-a-list-of-expression-literals-from-an-integer-sequence) có giúp được không? – fotNelton
@fotNelton: Điều này sẽ không hoạt động ít nhất: ylab <- do.call ("biểu thức", lapply (k, hàm (i) thay thế (k * "mol/mol", danh sách (k = i)))) – Mikko