Bạn có thể chỉ đơn giản là chỉ số giá trị bạn muốn, ví dụ
## dummy version of your data
mat <- matrix(c(1:17, rep(0, 3)), ncol = 2)
## create object suitable for plotting with boxplot
## I.e. convert to melted or long format
df <- data.frame(values = mat[1:17],
vars = rep(c("Col1","Col2"), times = c(10,7)))
## draw the boxplot
boxplot(values ~ vars, data = df)
Ở phía trên tôi đưa bạn vào văn bản của bạn rằng bạn có một ma trận. Nếu bạn thực sự có một khung dữ liệu sau đó bạn sẽ cần
df <- data.frame(values = c(mat[,1], mat[1:7, 2]),
vars = rep(c("Col1","Col2"), times = c(10,7)))
và tôi cho rằng các dữ liệu trong hai cột có thể so sánh ở chỗ thực tế là các giá trị trong hai cột cho thấy một biến phân loại cho phép chúng ta chia các giá trị (như Chiều cao của nam và nữ, với giới tính là giá trị phân loại).
Các boxplot kết quả được hiển thị dưới đây
Nguồn
2013-07-19 15:03:46
Cảm ơn điều đó thật tuyệt vời. Chỉ để đảm bảo tôi hiểu đúng, bạn đọc mọi thứ từ 'mat' thành 'các giá trị' như một vectơ. Sau đó, tạo biến 'vars' với hai cột và 'lần' cho 'vars' mà 10 đầu tiên thuộc về col1 và 7 lần tiếp theo thuộc về col2? Tôi đã làm đúng chứ? – user1007742
Không hoàn toàn; Tôi chỉ đọc 17 giá trị đầu tiên từ 'mat', nhưng bạn có quyền nghỉ ngơi. –
Làm cách nào tôi có thể thực hiện việc này với 3 vectơ thay vì 2? – user1007742