R: Biểu đồ hộp theo tỷ lệ nhật ký so với chuyển đổi nhật ký * sau đó * tạo biểu đồ hộp: Không nhận được kết quả tương tự


8

Trong boxplot()hàm trong R, tồn tại log =đối số để chỉ định xem một trục có nên nằm trên thang đo log hay không.

Đối với tôi, nếu tôi chọn tùy chọn này (chỉ định log = "y"làm đối số), hình dạng của ô hộp sẽ trông giống như khi tôi chuyển đổi dữ liệu theo cách thủ công với nhật ký, sau đó vẽ biểu đồ dữ liệu được chuyển đổi nhật ký đó (tôi nhận ra các nhãn trên trục sẽ khác nhau, nhưng tôi đang đề cập đến hình dạng của cốt truyện). Tuy nhiên, đây không phải là trường hợp.

Đây là một ví dụ làm việc đơn giản:

set.seed(923489)
data <- rlnorm(300, meanlog = 0, sdlog = 1)
boxplot(data) # Highly skewed right raw data
boxplot(data, log="y") # Data on log scale; less right-skewed
boxplot(log10(data)) # Log base 10-transform data; shape not the same as when specify log="y"
boxplot(log(data)) # Natural log and base 10 give same shape plot (just different axis labels)

Tại sao cái này rất?


2
Người ta tính toán boxplot theo đơn vị ban đầu, sau đó rút ra trên thang đo log, cái còn lại tính toán boxplot trên thang đo log sau đó vẽ nó. Hai thứ khác nhau bất cứ khi nào bạn có được thứ gì đó không hoàn toàn dựa trên các lượng tử riêng lẻ (hàng rào và do đó, râu ria dựa trên các hàm tuyến tính của lượng tử)
Glen_b -Reinstate Monica

Câu trả lời:


6

Rõ ràng, hộp có "vành đai" trung bình trông giống nhau. Sự khác biệt là râu ria. Trong cài đặt mặc định, ?boxplotcho chúng tôi biết rằng

Nếu 'phạm vi' là dương, thì râu sẽ mở rộng đến điểm dữ liệu cực đoan không quá 'phạm vi' lần so với phạm vi liên vùng từ hộp.

rangelà dương, cụ thể là 1,5 trong mặc định. Vì vậy, râu ria mở rộng gấp 1,5 lần hộp, nhưng ở quy mô nào? Nếu bạn gọi boxplot(data, log="y"), nó là 1,5 trên dữ liệu chưa được tính; do đó, râu dưới trở nên dài hơn. Nếu bạn gọi boxplot(log(data))râu là nhất thiết phải đối xứng.


Cảm ơn bạn. Vậy thì đối với tôi, đó không phải là cách "chính xác nhất" để thể hiện dữ liệu. Bài đăng này (dành cho Stata, không phải R, nhưng thảo luận về cùng một vấn đề) dường như ngụ ý cách thực hành tốt nhất là trước tiên phải chuyển đổi dữ liệu, sau đó dán nhãn lại theo sơ đồ hộp theo đơn vị gốc: stata .com / hỗ trợ / faqs / đồ họa / Suy nghĩ về cách tiếp cận này?
Meg

2
@Meg Tôi nghĩ rằng nó sẽ phụ thuộc vào việc bạn nghĩ rằng râu ria (đại diện cho phạm vi) sẽ có cùng độ dài trong không gian nhật ký hoặc không được tính toán. Cho rằng bạn đang chuyển đổi dữ liệu, trước đây có lẽ có ý nghĩa hơn.
Hao Ye

4

Từ ?boxplot, bạn có thể đọc:

phạm vi

cái này xác định khoảng cách các râu ria kéo dài ra khỏi hộp. Nếu phạm vi là dương, thì râu sẽ mở rộng đến điểm dữ liệu cực đoan không vượt quá phạm vi nhân với phạm vi liên vùng từ hộp. Giá trị bằng 0 làm cho râu ria mở rộng đến cực trị dữ liệu.

Mặc định khi vẽ sơ đồ hình hộp, range=1.5có nghĩa là bộ râu sẽ mở rộng gấp 1,5 lần phạm vi giữa các phần trên phần tư thứ ba và bên dưới phần tư thứ nhất; tất cả các điểm khác sẽ được dán nhãn là ngoại lệ.

Sự khác biệt bạn đang thấy dựa trên thực tế là chuyển đổi nhật ký của dữ liệu không duy trì khoảng cách chuẩn hóa của một điểm từ phần tư thứ ba hoặc thứ nhất; như mong đợi với dữ liệu của bạn, sau khi chuyển đổi nhật ký, bạn có ít ngoại lệ hơn với giá trị rất cao và nhiều ngoại lệ hơn với giá trị thấp.


Cảm ơn bạn đã bình luận của bạn, về cơ bản là tương đương với ở trên. Tôi đã chọn câu trả lời "chính xác" với số phiếu bầu cao nhất, nhưng cũng đánh giá cao ý kiến ​​của bạn.
Meg
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.