Tôi có một loạt biểu đồ ggplot mà tôi đang lặp lại với một vài biến thể nhỏ. Tôi muốn bọc các qplots này với các tùy chọn của chúng vào một hàm để tránh nhiều sự lặp lại trong mã.Viết các hàm ggplot trong R với các đối số tùy chọn
Vấn đề của tôi là đối với một số biểu đồ tôi đang sử dụng tùy chọn + facet_wrap(), nhưng đối với những người khác thì không. I E. Tôi cần bọc mặt để trở thành một đối số tùy chọn. Khi nó được bao gồm mã cần gọi + facet_wrap() với biến được cung cấp trong đối số facets.
Vì vậy, lý tưởng chức năng của tôi sẽ giống như thế này, với khía cạnh là một đối số tùy chọn:
$ qhist(variable, df, heading, facets)
Tôi đã thử googling cách thêm đối số tùy chọn và họ đề nghị hoặc thông qua một giá trị mặc định hoặc sử dụng một nếu vòng lặp với hàm missing(). Tôi đã không thể có được một trong hai để làm việc.
Đây là hàm tôi đã viết, với chức năng mong muốn của đối số khía cạnh tùy chọn cũng được bao gồm.
$ qhist <- function(variable, df, heading, facets) {
qplot(variable, data = df, geom = "histogram", binwidth = 2000,
xlab = "Salary", ylab = "Noms") +
theme_bw() +
scale_x_continuous(limits=c(40000,250000),
breaks=c(50000,100000,150000,200000,250000),
labels=c("50k","100k","150k","200k","250k")) +
opts(title = heading, plot.title = theme_text(face = "bold",
size = 14), strip.text.x = theme_text(size = 10, face = 'bold'))
# If facets argument supplied add the following, else do not add this code
+ facet_wrap(~ facets)
Các mặt 'hợp lý' có hợp lý không?Hay cái gì khác? (vector ký tự của các biến để khía cạnh?) –
Không, nó sẽ là một biến để khía cạnh. Vì vậy, ví dụ tôi có biểu đồ dữ liệu tiền lương, và đôi khi tôi muốn khía cạnh đó theo ngành. –