2013-10-25 25 views
5

Tôi muốn tạo một ô cho một khung dữ liệu, các tên cột chứa các ký tự đặc biệt. Hãy xem xét ví dụ sau:ggplot2: cách vẽ các cột chứa các ký tự đặc biệt?

f <- data.frame(foo=c(1, 2, 3), bar=c(4, 5, 6)) 
# The following line works fine 
ggplot(f) + geom_point(aes_string(x="foo", y="bar")) 
names(f) <- c("foo", "bar->baz") 
# The following also works, but seems not elegant 
ggplot(f) + geom_line(aes(x=foo, y=f[,"bar->baz"])) 
# I'd like something like the following, but this doesn't work. 
ggplot(f) + geom_line(aes_string(x="foo", y="bar->baz")) 

Đầu ra của lệnh cuối cùng là:

Error in eval(expr, envir, enclos) : object 'bar' not found 

Có ai biết một cách để tạo ra âm mưu này? Hay đơn giản chỉ là limitation of ggplot?

Trả lời

7

Bạn nên thêm backquotes '' như thế này:

ggplot(f) + geom_line(aes_string(x="foo", y="`bar->baz`")) 

Hoặc

ggplot(f) + geom_line(aes(x=foo, y=`bar->baz`)) 
0

param < - 'THI +'

testParam < - dán ('',param,'', tháng chín =" ")

plot1 < - ggplot (tập dữ liệu, aes_string (x = testParam))

Các vấn đề liên quan