Hình dung nhiều biến trong một ô


25

Tôi muốn chỉ ra cách các giá trị của các biến số nhất định (~ 15) thay đổi theo thời gian, nhưng tôi cũng muốn chỉ ra các biến số khác nhau như thế nào trong mỗi năm. Vì vậy, tôi đã tạo ra cốt truyện này:

nhập mô tả hình ảnh ở đây

Nhưng ngay cả khi thay đổi bảng màu hoặc thêm các loại đường / hình dạng khác nhau, điều này có vẻ lộn xộn. Có cách nào tốt hơn để hình dung loại dữ liệu này?

Kiểm tra dữ liệu với mã R:

structure(list(Var = structure(c(1L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 
6L, 6L, 6L, 6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L, 
8L, 8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 11L, 11L, 11L, 11L, 11L, 
11L, 11L, 12L, 12L, 12L, 12L, 12L, 12L, 13L, 14L, 14L, 14L, 14L, 
14L, 14L, 14L, 16L, 16L, 16L, 16L, 16L, 16L, 17L, 17L, 17L, 17L, 
17L, 17L, 17L, 18L, 18L, 18L, 18L, 18L, 18L, 18L), .Label = c("A", 
"B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", 
"O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"), class = "factor"), 
    Year = c(2015L, 1991L, 1993L, 1996L, 2000L, 2004L, 2011L, 
    2015L, 1991L, 1993L, 1996L, 2000L, 2004L, 2011L, 2015L, 1991L, 
    1993L, 1996L, 2000L, 2004L, 2011L, 2015L, 1993L, 1996L, 2000L, 
    2004L, 2011L, 2015L, 1991L, 1993L, 1996L, 2000L, 2004L, 2011L, 
    2015L, 1991L, 1993L, 1996L, 2000L, 2004L, 2011L, 2015L, 1991L, 
    1993L, 1996L, 2000L, 2004L, 2011L, 2015L, 1991L, 1993L, 1996L, 
    2000L, 2004L, 2011L, 2015L, 1993L, 1996L, 2000L, 2004L, 2011L, 
    2015L, 2015L, 1991L, 1993L, 1996L, 2000L, 2004L, 2011L, 2015L, 
    1991L, 1993L, 1996L, 2000L, 2011L, 2015L, 1991L, 1993L, 1996L, 
    2000L, 2004L, 2011L, 2015L, 1991L, 1993L, 1996L, 2000L, 2004L, 
    2011L, 2015L), Val = c(25.6, 22.93, 20.82, 24.1, 24.5, 29, 
    25.55, 24.5, 24.52, 20.73, 25.8, 25.5, 29.5, 27.7, 25.1, 
    25, 24.55, 26.75, 25, 30.5, 27.25, 25.1, 22.4, 27.07, 26, 
    29, 27.2, 24.2, 23, 24.27, 27.68, 27, 30.5, 28.1, 24.9, 23.75, 
    22.75, 27.25, 25, 29, 28.45, 24, 20.25, 17.07, 24.45, 25, 
    28.5, 26.75, 24.9, 21.25, 20.65, 25.1, 24.5, 26.5, 25.35, 
    23.5, 21.93, 26.5, 24.5, 29, 29.1, 26.4, 28.1, 23.75, 26.5, 
    28.05, 27, 30.5, 25.65, 23.3, 23.25, 24.57, 26.07, 27.5, 
    28.85, 27.7, 22, 23.43, 26.88, 27, 30.5, 29.25, 28.1, 23, 
    23.8, 28.32, 27, 29.5, 29.15, 27.6)), row.names = c(1L, 4L, 
5L, 6L, 7L, 8L, 9L, 10L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 
21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 35L, 
36L, 37L, 38L, 39L, 40L, 41L, 44L, 45L, 46L, 47L, 48L, 49L, 50L, 
53L, 54L, 55L, 56L, 57L, 58L, 59L, 62L, 63L, 64L, 65L, 66L, 67L, 
68L, 69L, 70L, 71L, 72L, 73L, 74L, 75L, 78L, 79L, 80L, 81L, 82L, 
83L, 84L, 87L, 88L, 89L, 90L, 91L, 92L, 95L, 96L, 97L, 98L, 99L, 
100L, 101L, 104L, 105L, 106L, 107L, 108L, 109L, 110L), na.action = structure(c(2L, 
3L, 11L, 12L, 33L, 34L, 42L, 43L, 51L, 52L, 60L, 61L, 76L, 77L, 
85L, 86L, 93L, 94L, 102L, 103L), .Names = c("2", "3", "11", "12", 
"33", "34", "42", "43", "51", "52", "60", "61", "76", "77", "85", 
"86", "93", "94", "102", "103"), class = "omit"), class = "data.frame", .Names = c("Var", 
"Year", "Val"))

2
Bạn có thể đăng dữ liệu? Thật dễ dàng để tìm thấy các ví dụ gần giống nhau, nhưng để giữ các sợi liên kết với nhau, những người có cùng hộp cát để chơi sẽ giúp ích. Ngoài ra, tầm quan trọng của vùng xanh là gì?
Nick Cox

Xem thêm các đề xuất trong stats.stackexchange.com/questions/126480/ từ
Nick Cox

@NickCox Chắc chắn, nên nghĩ về điều đó sớm hơn! Tôi rời khỏi vùng màu xanh lá cây vì nó không cần thiết (nó chỉ hiển thị phạm vi các giá trị được coi là "đủ")

Câu trả lời:


42

Một cách ngẫu nhiên hay nói cách khác, ví dụ của bạn có kích thước tối ưu (tối đa 7 giá trị cho mỗi 15 nhóm) trước tiên, để cho thấy rằng có một vấn đề về mặt đồ họa; và thứ hai, để cho phép các giải pháp khác và khá đơn giản. Biểu đồ là một loại thường được gọi là spaghetti bởi những người trong các lĩnh vực khác nhau, mặc dù không phải lúc nào cũng rõ ràng thuật ngữ đó có nghĩa là tình cảm hay lạm dụng. Biểu đồ cho thấy hành vi tập thể hoặc gia đình của tất cả các nhóm, nhưng nó khá vô vọng trong việc hiển thị chi tiết sẽ được khám phá.

Một thay thế tiêu chuẩn là chỉ hiển thị các nhóm riêng biệt trong các bảng riêng biệt, nhưng điều đó có thể làm cho việc so sánh giữa các nhóm chính xác trở nên khó khăn; mỗi nhóm được tách ra khỏi bối cảnh của các nhóm khác.

Vậy tại sao không kết hợp cả hai ý tưởng: một bảng điều khiển riêng cho mỗi nhóm, mà còn hiển thị các nhóm khác làm nền? Bản lề này chủ yếu làm nổi bật nhóm đang tập trung và hạ thấp nhóm khác, điều này đủ dễ trong ví dụ này với một số cách sử dụng màu đường, độ dày, v.v. Trong các ví dụ khác, lựa chọn biểu tượng điểm hoặc biểu tượng điểm có thể là tự nhiên.

nhập mô tả hình ảnh ở đây

Trong trường hợp này, chi tiết về tầm quan trọng hoặc lợi ích thực tế hoặc khoa học có thể được nêu bật:

  1. Chúng tôi chỉ có một giá trị cho A và M.

  2. Chúng tôi không có tất cả các giá trị cho tất cả các năm nhất định trong tất cả các trường hợp khác.

  3. Một số nhóm âm mưu cao, một số thấp, và như vậy.

Tôi sẽ không cố gắng giải thích ở đây: dữ liệu là ẩn danh, nhưng đó là mối quan tâm của nhà nghiên cứu trong mọi trường hợp.

Tùy thuộc vào những gì dễ dàng hoặc có thể có trong phần mềm của bạn, có phạm vi để thay đổi các chi tiết nhỏ ở đây, chẳng hạn như liệu nhãn trục và tiêu đề có được lặp lại hay không (có các đối số đơn giản cho cả chống và chống).

Vấn đề lớn hơn là chiến lược này sẽ hoạt động được bao xa. Số lượng nhóm là người điều khiển chính, nhiều hơn số điểm trong mỗi nhóm. Nói một cách đơn giản, cách tiếp cận có thể hoạt động lên tới khoảng 25 nhóm (hiển thị 5 x 5): với nhiều nhóm hơn, không chỉ các biểu đồ trở nên nhỏ hơn và khó đọc hơn, mà ngay cả nhà nghiên cứu cũng mất xu hướng quét tất cả tấm. Nếu có hàng trăm (hàng ngàn, ...) nhóm, thường sẽ rất cần thiết để chọn một số lượng nhỏ các nhóm để hiển thị. Một số kết hợp các tiêu chí như chọn một số bảng "điển hình" và một số bảng "cực đoan" sẽ là cần thiết; điều đó nên được thúc đẩy bởi các mục tiêu dự án và một số ý tưởng về ý nghĩa của từng tập dữ liệu. Một cách tiếp cận khác có thể hiệu quả là nhấn mạnh một số lượng nhỏ chuỗi trong mỗi bảng. Vì thế, nếu có 25 nhóm rộng, mỗi nhóm rộng có thể được hiển thị với tất cả các nhóm khác làm nền. Ngoài ra, có thể có một số trung bình hoặc tóm tắt khác. Sử dụng (ví dụ) các thành phần chính hoặc độc lập cũng có thể là một ý tưởng tốt.

Mặc dù ví dụ này gọi cho các ô dòng, nguyên tắc này tự nhiên rất chung chung. Các ví dụ có thể được nhân lên, các biểu đồ phân tán, các sơ đồ chẩn đoán mô hình, v.v.

Một số tài liệu tham khảo cho phương pháp này [những người khác được chào đón nhất]:

Cox, NJ 2010. Các tập con đồ thị. Tạp chí Stata 10: 670-681.

Knaflic, CN 2015. Kể chuyện với dữ liệu: Hướng dẫn trực quan hóa dữ liệu cho các chuyên gia kinh doanh. Hoboken, NJ: Wiley.

Koenker, R. 2005. Hồi quy lượng tử. Cambridge: Nhà xuất bản Đại học Cambridge. Xem trang.12-13.

Schwabish, JA 2014. Hướng dẫn của nhà kinh tế về trực quan hóa dữ liệu. Tạp chí viễn cảnh kinh tế 28: 209-234.

Unwin, A. 2015. Phân tích dữ liệu đồ họa với R. Boca Raton, FL: CRC Press.

Wallgren, A., B. Wallgren, R. Persson, U. J Corner và J.-A. Haaland. 1996. Thống kê và dữ liệu đồ thị: Tạo biểu đồ tốt hơn. Công viên Newbury, CA: Hiền nhân.

Lưu ý: Biểu đồ đã được tạo trong Stata. subsetplotphải được cài đặt trước với ssc inst subsetplot. Dữ liệu được sao chép và dán từ nhãn R và giá trị được xác định để hiển thị năm là 90 95 00 05 10 15. Lệnh chính là

subsetplot connected Val Year, by(Var) c(L) lcolor(gs12) backdrop(line) xtitle("") combine(imargin(small)) subset(lcolor(blue) mcolor(blue))

EDIT Tham khảo thêm tháng 5, tháng 9, tháng 12 năm 2016; Tháng 4, tháng 6 năm 2017, tháng 12 năm 2018, tháng 4 năm 2019:

Cairo, A. 2016. Nghệ thuật trung thực: Dữ liệu, Biểu đồ và Bản đồ cho truyền thông. San Francisco, CA: Những kỵ sĩ mới. tr.211

Camões, J. 2016. Dữ liệu tại nơi làm việc: Thực tiễn tốt nhất để tạo biểu đồ thông tin và đồ họa thông tin hiệu quả trong Microsoft Excel . San Francisco, CA: Những kỵ sĩ mới. tr.354

Carr, DB và Pickle, LW 2010. Trực quan hóa các mẫu dữ liệu bằng Micromaps. Boca Raton, FL: Báo chí CRC. tr85.

Grant, R. 2019. Trực quan hóa dữ liệu: Biểu đồ, Bản đồ và Đồ họa tương tác. Boca Raton, FL: Báo chí CRC. tr.52.

Koponen, J. và Hildén, J. 2019. Cẩm nang trực quan hóa dữ liệu. Espoo: Aalto ARTS Sách. Xem tr.101.

Kriebel, A. và Murray, E. 2018. #MakeoverMonday: Cải thiện cách chúng ta hình dung và phân tích dữ liệu, một biểu đồ tại một thời điểm. Hoboken, NJ: John Wiley. tr.303.

Rougier, NP, Droettboom, M. và Bourne, PE 2014. Mười quy tắc đơn giản cho các số liệu tốt hơn. Sinh học tính toán PLOS 10 (9): e1003833. doi: 10.1371 / tạp chí.pcbi.1003833 liên kết tại đây

Schwabish, J. 2017. Thuyết trình tốt hơn: Hướng dẫn cho các học giả, nhà nghiên cứu và người chiến thắng. New York: Nhà xuất bản Đại học Columbia. Xem tr.98.

Wickham, H. 2016. ggplot2: Đồ họa thanh lịch để phân tích dữ liệu. Chăm: Mùa xuân. Xem tr.157.


+1, thật tuyệt vời, có chức năng R hoặc SAS có thể thực hiện loại biểu đồ này không? Nó thực sự tuyệt vời.
dự báo

Tôi thực sự thích ý tưởng này! Chỉ cần tự hỏi về cách tốt nhất để vẽ biểu đồ này trong R bằng ggplot2. Tôi sẽ đợi một chút trước khi tôi chấp nhận câu trả lời, hy vọng điều đó tốt.

2
Xin lỗi, tôi không biết làm thế nào để làm bất cứ điều gì trong SAS. Chắc chắn bất cứ điều gì Stata có thể làm, R có thể làm tốt hoặc tốt hơn, hoặc vì vậy người dùng của nó cứ nói với tôi ....
Nick Cox

@NickCox Không phải là một vấn đề gì cả, tôi đã tìm ra nó, nó trông thực sự tốt và hoàn hảo cho mục đích của tôi.

@NickCox, hai tài liệu tham khảo nữa là 1. Các yếu tố của đồ thị dữ liệu của WS Cleveland . Một cuốn sách mới, 2. Kể chuyện với dữ liệu: Hướng dẫn trực quan hóa dữ liệu cho các chuyên gia kinh doanh của Cole Nussbaumer Knaflic . Cuốn sách này (# 2) có một nghiên cứu tình huống chương gọi là "Chiến lược tránh đồ thị spaghetti".
dự báo

22

Để bổ sung cho câu trả lời của Nick, đây là một số mã R để tạo một âm mưu tương tự bằng cách sử dụng dữ liệu mô phỏng:

library(ggplot2)

get_df <- function(label="group A", n_obs=10, drift=runif(1)) {
    df <- data.frame(time=seq(1, n_obs), label=label)
    df$y <- df$time * drift + cumsum(rnorm(n_obs))
    return(df)
}
df_list <- lapply(sprintf("group %s", toupper(letters[1:9])),
                  function(label) { get_df(label) })
df <- do.call(rbind, df_list)
df$label2 <- df$label

p <- (ggplot(df, aes(x=time, y=y, group=label2)) +
      geom_line(size=0.9, alpha=0.8,
                data=df[, c("time", "y", "label2")], color="grey") +
      geom_line(size=1.1, color="black") +
      ylab("") +
      theme_bw() +
      theme(panel.border=element_blank()) +
      theme(strip.background=element_blank()) +
      facet_wrap(~ label))
p
ggsave("example_facet.png", p, width=10, height=8)

cốt truyện mẫu


6

Đối với những người muốn sử dụng một ggplot2cách tiếp cận trong R, hãy xem xét facetshadechức năng trong gói extracat. Điều này cung cấp một cách tiếp cận chung, không chỉ cho các ô dòng. Dưới đây là một ví dụ với biểu đồ phân tán (từ chân trang này ):

data(olives, package="extracat")
library(scales)
fs1 <- facetshade(data = olives,
                  aes(x = palmitic, y = palmitoleic), f = .~Area)
fs1 + geom_point(colour = alpha("black", 0.05)) +
      geom_point(data = olives, colour = "red") +
      facet_wrap(f=~Area, nrow=3) + theme(legend.position="none")

nhập mô tả hình ảnh ở đây


EDIT: Sử dụng bộ dữ liệu mô phỏng của Adrian từ câu trả lời trước đó của anh ấy:

library(extracat)
facetshade(df, aes(x=time, y=y), f = .~label, bg.all = FALSE, keep.orig = TRUE) +
           geom_line(aes(x=time, y=y, group=orig.label),colour = alpha(1,0.3)) +
           geom_line(data=df, aes(colour=label), size = 1.2) + xlab("") + ylab("")

Một cách tiếp cận khác là vẽ hai lớp riêng biệt, một cho nền và một cho các trường hợp được tô sáng. Mẹo nhỏ là vẽ lớp nền bằng cách sử dụng tập dữ liệu mà không có biến faceting. Đối với tập dữ liệu dầu ô liu, mã là:

data(olives, package="extracat")
ggplot(olives, aes(palmitic, palmitoleic)) + 
  facet_wrap(~Area, nrow=3) + 
  geom_point(data=olives %>% select(-Area), colour=alpha("black", 0.05)) + 
  geom_point(data=olives, colour="red") + 
  theme(legend.position="none")

1
Đây có vẻ là một cách tiếp cận chung tốt đẹp (+1), nhưng ví dụ cụ thể liên quan nhiều hơn đến một vấn đề khác. Một loạt các biểu đồ phân tán lặp đi lặp lại với các vùng được tô sáng khác nhau sẽ không hoạt động cho câu hỏi về chuỗi thời gian.
Sextus Empiricus 18/12/18

@martin Thật ra đó là và đó cũng là giải pháp của Adrian. Lưu ý rằng anh ta sử dụng hai biến nhãn giống hệt nhau để có thể bỏ một biến trong lớp nền. Ý tưởng mã hóa rõ ràng hơn với ký hiệu gọn gàng bên dưới và, thông thường, định dạng đồ họa thanh lịch có thể che dấu các phần quan trọng của mã. ggplot(df %>% select(-label), aes(x=time, y=y, group=label2)) + geom_line(alpha=0.8, color="grey") + labs(y=NULL) + geom_line(data=df, color="red") + facet_wrap(~ label)
Antony Unwin

5

Đây là một giải pháp lấy cảm hứng từ Ch. 11.3, phần "Dữ liệu nhà ở Texas", trong Sách của Hadley Wickham trên ggplot2 . Ở đây tôi điều chỉnh mô hình tuyến tính cho từng chuỗi thời gian, lấy phần dư (được tập trung quanh giá trị trung bình 0) và vẽ một dòng tóm tắt bằng một màu khác nhau.

library(ggplot2)
library(dplyr)
#works with dplyr version 0.4.3.9000 from Github (hadley/dplyr@4f2d7f8), or higher

df1 <- as.data.frame(list(Var = structure(c(1L, 2L, 2L, 2L, 2L, 2L, 2L, 
                                 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 
                                 6L, 6L, 6L, 6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L, 
                                 8L, 8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 11L, 11L, 11L, 11L, 11L, 
                                 11L, 11L, 12L, 12L, 12L, 12L, 12L, 12L, 13L, 14L, 14L, 14L, 14L, 
                                 14L, 14L, 14L, 16L, 16L, 16L, 16L, 16L, 16L, 17L, 17L, 17L, 17L, 
                                 17L, 17L, 17L, 18L, 18L, 18L, 18L, 18L, 18L, 18L), .Label = c("A", 
                                                                                               "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", 
                                                                                               "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"), class = "factor"), 
               Year = c(2015L, 1991L, 1993L, 1996L, 2000L, 2004L, 2011L, 
                        2015L, 1991L, 1993L, 1996L, 2000L, 2004L, 2011L, 2015L, 1991L, 
                        1993L, 1996L, 2000L, 2004L, 2011L, 2015L, 1993L, 1996L, 2000L, 
                        2004L, 2011L, 2015L, 1991L, 1993L, 1996L, 2000L, 2004L, 2011L, 
                        2015L, 1991L, 1993L, 1996L, 2000L, 2004L, 2011L, 2015L, 1991L, 
                        1993L, 1996L, 2000L, 2004L, 2011L, 2015L, 1991L, 1993L, 1996L, 
                        2000L, 2004L, 2011L, 2015L, 1993L, 1996L, 2000L, 2004L, 2011L, 
                        2015L, 2015L, 1991L, 1993L, 1996L, 2000L, 2004L, 2011L, 2015L, 
                        1991L, 1993L, 1996L, 2000L, 2011L, 2015L, 1991L, 1993L, 1996L, 
                        2000L, 2004L, 2011L, 2015L, 1991L, 1993L, 1996L, 2000L, 2004L, 
                        2011L, 2015L), 
               Val = c(25.6, 22.93, 20.82, 24.1, 24.5, 29, 
                       25.55, 24.5, 24.52, 20.73, 25.8, 25.5, 29.5, 27.7, 25.1, 
                       25, 24.55, 26.75, 25, 30.5, 27.25, 25.1, 22.4, 27.07, 26, 
                       29, 27.2, 24.2, 23, 24.27, 27.68, 27, 30.5, 28.1, 24.9, 23.75, 
                       22.75, 27.25, 25, 29, 28.45, 24, 20.25, 17.07, 24.45, 25, 
                       28.5, 26.75, 24.9, 21.25, 20.65, 25.1, 24.5, 26.5, 25.35, 
                       23.5, 21.93, 26.5, 24.5, 29, 29.1, 26.4, 28.1, 23.75, 26.5, 
                       28.05, 27, 30.5, 25.65, 23.3, 23.25, 24.57, 26.07, 27.5, 
                       28.85, 27.7, 22, 23.43, 26.88, 27, 30.5, 29.25, 28.1, 23, 
                       23.8, 28.32, 27, 29.5, 29.15, 27.6)), 
               row.names = c(1L, 4L, 
                           5L, 6L, 7L, 8L, 9L, 10L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 
                           21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 35L, 
                           36L, 37L, 38L, 39L, 40L, 41L, 44L, 45L, 46L, 47L, 48L, 49L, 50L, 
                           53L, 54L, 55L, 56L, 57L, 58L, 59L, 62L, 63L, 64L, 65L, 66L, 67L, 
                           68L, 69L, 70L, 71L, 72L, 73L, 74L, 75L, 78L, 79L, 80L, 81L, 82L, 
                           83L, 84L, 87L, 88L, 89L, 90L, 91L, 92L, 95L, 96L, 97L, 98L, 99L, 
                           100L, 101L, 104L, 105L, 106L, 107L, 108L, 109L, 110L), 
               na.action = structure(c(2L, 
                          3L, 11L, 12L, 33L, 34L, 42L, 43L, 51L, 52L, 60L, 61L, 76L, 77L, 
                          85L, 86L, 93L, 94L, 102L, 103L), 
                .Names = c("2", "3", "11", "12","33", "34", "42", "43", "51", "52", "60", 
                           "61", "76", "77", "85", "86", "93", "94", "102", "103"), class = "omit"), 
                class = "data.frame", .Names = c("Var","Year", "Val"))


df1 %>%
        group_by(Var) %>%
        do(mutate(.,resid = resid(lm(Val ~ Year, data=., na.action = na.exclude)))) %>%
        ggplot(aes(Year, resid)) +
        labs(y=paste0("Val "), x="Year") +
        geom_line(aes(group = Var), alpha = 1/5) +
        geom_line(stat = "summary", fun.y = "mean", colour = "red")

nhập mô tả hình ảnh ở đây


1
Ý tưởng chính ở đây dường như là bạn có thể thêm một đường cong tóm tắt của một số loại để giúp mắt và tâm trí. Đồng ý, nhưng trong câu trả lời của bạn, bạn có thể đánh vần sự đánh đổi khi chuyển sang trung bình (hoặc mức tham chiếu) 0 thay vì để lại các đơn vị và giá trị ban đầu. Các chuyên gia về vấn đề và / hoặc khách hàng có thể nghĩ tốt về 24 hoặc 28 hoặc bất kỳ giá trị nào. Đương nhiên dữ liệu ở đây chỉ là phương tiện để thảo luận nhưng quan điểm rất chung chung.
Nick Cox
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.