SAS - พล็อตกล่อง

Boxplot คือการแสดงกลุ่มข้อมูลตัวเลขแบบกราฟิกผ่านควอไทล์ พล็อตกล่องอาจมีเส้นที่ยื่นออกมาในแนวตั้งจากกล่อง (หนวด) ซึ่งแสดงถึงความแปรปรวนภายนอกควอไทล์บนและล่าง ด้านล่างและด้านบนของกล่องจะเป็นควอร์ไทล์ที่ 1 และ 3 เสมอและวงในกล่องจะเป็นควอไทล์ที่สองเสมอ (ค่ามัธยฐาน) ใน SAS จะมีการสร้าง Boxplot อย่างง่ายโดยใช้ไฟล์PROC SGPLOT และกล่องพล็อตแบบแผงถูกสร้างขึ้นโดยใช้ PROC SGPANEL.

โปรดทราบว่าเราสร้างชุดข้อมูลชื่อ CARS1 ในตัวอย่างแรกและใช้ชุดข้อมูลเดียวกันสำหรับชุดข้อมูลที่ตามมาทั้งหมด ชุดข้อมูลนี้ยังคงอยู่ในไลบรารีงานจนกว่าจะสิ้นสุดเซสชัน SAS

ไวยากรณ์

ไวยากรณ์พื้นฐานในการสร้าง boxplot ใน SAS คือ -

PROC SGPLOT  DATA = DATASET;
   VBOX VARIABLE / category = VARIABLE;
RUN; 

PROC SGPANEL  DATA = DATASET;;
PANELBY VARIABLE;
   VBOX VARIABLE> / category = VARIABLE;
RUN;

ต่อไปนี้เป็นคำอธิบายของพารามิเตอร์ที่ใช้ -

  • DATASET - คือชื่อของชุดข้อมูลที่ใช้

  • VARIABLE - คือค่าที่ใช้ในการพล็อต Boxplot

Boxplot ง่ายๆ

ใน Boxplot ธรรมดาเราเลือกตัวแปรหนึ่งตัวจากชุดข้อมูลและอีกตัวแปรหนึ่งเพื่อสร้างหมวดหมู่ ค่าของตัวแปรแรกจะถูกจัดประเภทเป็นกลุ่มจำนวนมากเท่ากับจำนวนค่าที่แตกต่างกันในตัวแปรที่สอง

ตัวอย่าง

ในตัวอย่างด้านล่างเราเลือกตัวแปรแรงม้าเป็นตัวแปรแรกและพิมพ์เป็นตัวแปรหมวดหมู่ ดังนั้นเราจึงได้บ็อกซ์พล็อตสำหรับการกระจายค่าแรงม้าสำหรับรถแต่ละประเภท

PROC SQL;
create table CARS1 as
SELECT make, model, type, invoice, horsepower, length, weight
   FROM 
   SASHELP.CARS
   WHERE make in ('Audi','BMW')
;
RUN;

PROC SGPLOT  DATA = CARS1;
   VBOX horsepower 
   / category = type;

   title 'Horsepower of cars by types';
RUN;

เมื่อเรารันโค้ดด้านบนเราจะได้ผลลัพธ์ดังต่อไปนี้ -

Boxplot ในแผงแนวตั้ง

เราสามารถแบ่ง Boxplots ของตัวแปรออกเป็นแผงแนวตั้ง (คอลัมน์) ได้มากมาย แต่ละแผงมีบ็อกซ์พล็อตสำหรับตัวแปรเชิงหมวดหมู่ทั้งหมด แต่บ็อกซ์พล็อตจะถูกจัดกลุ่มเพิ่มเติมโดยใช้ตัวแปรที่สามอีกตัวซึ่งแบ่งกราฟออกเป็นแผงต่างๆ

ตัวอย่าง

ในตัวอย่างด้านล่างเราได้จัดวางกราฟโดยใช้ตัวแปร 'make' เนื่องจากมีค่า 'make' สองค่าที่แตกต่างกันดังนั้นเราจึงได้แผงแนวตั้งสองแผง

PROC SGPANEL  DATA = CARS1;
PANELBY MAKE;
   VBOX horsepower   / category = type;

   title 'Horsepower of cars by types';
RUN;

เมื่อเรารันโค้ดด้านบนเราจะได้ผลลัพธ์ดังต่อไปนี้ -

Boxplot ในแผงแนวนอน

เราสามารถแบ่ง Boxplots ของตัวแปรออกเป็นแผงแนวนอน (แถว) ได้มากมาย แต่ละแผงมีบ็อกซ์พล็อตสำหรับตัวแปรเชิงหมวดหมู่ทั้งหมด แต่บ็อกซ์พล็อตจะถูกจัดกลุ่มเพิ่มเติมโดยใช้ตัวแปรที่สามอีกตัวซึ่งแบ่งกราฟออกเป็นแผงต่างๆ ในตัวอย่างด้านล่างเราได้จัดวางกราฟโดยใช้ตัวแปร 'make' เนื่องจากมีค่า 'make' สองค่าที่แตกต่างกันดังนั้นเราจึงได้แผงแนวนอนสองแผง

PROC SGPANEL  DATA = CARS1;
PANELBY MAKE / columns = 1 novarname;

   VBOX horsepower   / category = type;

   title 'Horsepower of cars by types';
RUN;

เมื่อเรารันโค้ดด้านบนเราจะได้ผลลัพธ์ดังต่อไปนี้ -