Có thể thực hiện bằng cách sử dụng stat_sum
trong ggplot2. Theo mặc định, kích thước dấu chấm biểu thị tỷ lệ. Để có được kích thước dấu chấm để biểu thị số lượng, hãy sử dụng size = ..n..
làm thẩm mỹ. Đếm (và tỷ lệ) bởi một biến thứ ba có thể thu được bằng trọng số của biến thứ ba (weight = cost
) như là một thẩm mỹ. Một số ví dụ, nhưng trước tiên, một số dữ liệu.
library(ggplot2)
set.seed = 321
# Generate somme data
df <- expand.grid(x = seq(1:5), y = seq(1:5), KEEP.OUT.ATTRS = FALSE)
df$Count = sample(1:25, 25, replace = F)
library(plyr)
new <- dlply(df, .(Count), function(data) matrix(rep(matrix(c(data$x, data$y), ncol = 2), data$Count), byrow = TRUE, ncol = 2))
df2 <- data.frame(do.call(rbind, new))
df2$cost <- 1:325
Dữ liệu chứa đơn vị được phân loại theo hai yếu tố: X1 và X2; và biến thứ ba là chi phí của mỗi đơn vị.
Lô 1: Lô tỷ lệ của các phần tử tại mỗi tổ hợp X1 - X2. group=1
yêu cầu ggplot tính toán tỷ lệ trong tổng số đơn vị trong khung dữ liệu.
ggplot(df2, aes(factor(X1), factor(X2))) +
stat_sum(aes(group = 1))
Lô 2: Plots số của các nguyên tố ở mỗi X1 - kết hợp X2.
ggplot(df2, aes(factor(X1), factor(X2))) +
stat_sum(aes(size = ..n..))
Lô 3: Plots chi phí của các yếu tố ở mỗi X1 - kết hợp X2, đó là weight
bởi biến thứ ba.
ggplot(df2, aes(x=factor(X1), y=factor(X2))) +
stat_sum(aes(group = 1, weight = cost, size = ..n..))
Lô 4: Plots tỷ lệ tổng chi phí của tất cả các yếu tố trong khung dữ liệu ở mỗi X1 - X2 kết hợp
ggplot(df2, aes(x=factor(X1), y=factor(X2))) +
stat_sum(aes(group = 1, weight = cost))
Lô 5: Tỷ lệ ô mẫu, nhưng thay vì tỷ lệ nằm ngoài tổng chi phí trên tất cả các phần tử trong khung dữ liệu, tỷ lệ này nằm ngoài chi phí cho el ement trong mỗi thể loại của X1. Tức là, trong mỗi thể loại X1, chi phí chính cho các đơn vị X2 xảy ra là bao nhiêu?
ggplot(df2, aes(x=factor(X1), y=factor(X2))) +
stat_sum(aes(group = X1, weight = cost))
Câu trả lời cho câu hỏi của tôi là số 3 thì sao? – mb14
Xin lỗi, tôi nên nói vậy. Vâng. –