Giả sử tôi muốn vẽ biểu đồ với công thức sau đây (tôi biết nó không phải là tốt nhất nhưng nó sẽ minh họa cho vấn đề):Cách sử dụng các biến được khai báo trước đó trong aes trong ggplot với các toán tử đặc biệt (..count .., v.v.)
set.seed(1)
dframe <- data.frame(val=rnorm(50))
p <- ggplot(dframe, aes(x=val, y=..count..))
p + geom_bar()
Nó hoạt động tốt. Tuy nhiên, chúng ta hãy nói rằng chúng tôi muốn cho một số lý do tần số chia cho một số xác định earler. bắn của tôi sẽ là:
k <- 5
p <- ggplot(dframe, aes(x=val, y=..count../k))
p + geom_bar()
Tuy nhiên tôi nhận được lỗi này gây phiền nhiễu:
Error in eval(expr, envir, enclos) : object 'k' not found
Liệu có tồn tại một cách để sử dụng cả hai ..count..
-like biến với một số những người được xác định trước?
@DidzisElferts Điều đó sẽ không bao giờ xảy ra với tôi. Tôi đã sẵn sàng để gửi một câu trả lời bằng cách sử dụng 'get'. – Roland
@kuba 'p <- ggplot (dframe, aes (x = val, y = .. count ../ get (" k ", envir = .GlobalEnv)))' – Roland
Tôi nghĩ rằng có một lỗi phải trung thực; ggplot() có tham số 'environment', nhưng có vẻ như bị bỏ qua khi các biến stat được sử dụng – baptiste