Sas: ความแตกต่างระหว่าง put และ input
คุณสามารถใช้ฟังก์ชัน PUT และ INPUT ใน SAS เพื่อแปลงตัวแปรเป็นข้อมูลประเภทต่างๆ
นี่คือความแตกต่างระหว่างสองฟังก์ชัน:
ฟังก์ชัน PUT รับตัวแปรอักขระหรือตัวเลขเป็นอินพุตและ ส่งออกตัวแปรอักขระเสมอ
ฟังก์ชัน INPUT รับเฉพาะตัวแปรอักขระเป็นอินพุต และ สามารถ ส่งออก อักขระหรือตัวแปรตัวเลขได้
ตัวอย่างต่อไปนี้แสดงวิธีทั่วไปสองวิธีในการใช้ฟังก์ชัน PUT และ INPUT ในทางปฏิบัติ
ตัวอย่างที่ 1: การใช้ PUT เพื่อแปลงตัวแปรตัวเลขเป็นตัวแปรอักขระ
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน SAS ซึ่งแสดงยอดขายรวมของร้านค้าเป็นเวลา 10 วันติดต่อกัน:
/*create dataset*/ data original_data; input day sales; datalines ; 1 7 2 12 3 15 4 14 5 13 6 11 7 10 8 16 9 18 10 24 ; run ; /*view dataset*/ proc print data = original_data;
เราสามารถใช้ เนื้อหาของขั้นตอน เพื่อแสดงประเภทข้อมูลของตัวแปรแต่ละตัวในชุดข้อมูล:
/*display data type for each variable*/
proc contents data =original_data;
เราจะเห็นว่า วัน นั้นและ ยอดขาย เป็นตัวแปรตัวเลขทั้งคู่
เราสามารถใช้ฟังก์ชัน PUT เพื่อแปลงตัวแปร วัน จากตัวเลขเป็นอักขระได้:
/*create new dataset where 'day' is character*/
data new_data;
set original_data;
char_day = put (day, 8.);
drop day;
run ;
/*view new dataset*/
proc print data =new_data;
เราสามารถใช้ เนื้อหาของ proc อีกครั้งเพื่อตรวจสอบประเภทข้อมูลของตัวแปรแต่ละตัวในชุดข้อมูลใหม่:
/*display data type for each variable in new dataset*/
proc contents data =new_data;
เราใช้ฟังก์ชัน PUT เพื่อแปลงตัวแปร วัน จากตัวเลขไปเป็นตัวแปรอักขระใหม่ที่เรียกว่า char_day สำเร็จแล้ว
ตัวอย่างที่ 2: การใช้ INPUT เพื่อแปลงตัวแปรอักขระเป็นตัวแปรตัวเลข
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน SAS ซึ่งแสดงยอดขายรวมของร้านค้าเป็นเวลา 10 วันติดต่อกัน:
/*create dataset*/ data original_data; input day $sales; datalines ; 1 7 2 12 3 15 4 14 5 13 6 11 7 10 8 16 9 18 10 24 ; run ; /*view dataset*/ proc print data = original_data;
เราสามารถใช้ เนื้อหาของขั้นตอน เพื่อแสดงประเภทข้อมูลของตัวแปรแต่ละตัวในชุดข้อมูล:
/*display data type for each variable*/
proc contents data =original_data;
เราจะเห็นได้ว่า วัน นั้นเป็นตัวแปรตัวอักษรและ ยอดขาย เป็นตัวแปรตัวเลข
เราสามารถใช้ฟังก์ชัน INPUT เพื่อแปลงตัวแปร วัน จากอักขระเป็นตัวเลขได้:
/*create new dataset where 'day' is numeric*/
data new_data;
set original_data;
numeric_day = input (day, comma9.);
drop day;
run ;
/*view new dataset*/
proc print data =new_data;
เราสามารถใช้ เนื้อหาของ proc อีกครั้งเพื่อตรวจสอบประเภทข้อมูลของตัวแปรแต่ละตัวในชุดข้อมูลใหม่:
/*display data type for each variable in new dataset*/
proc contents data = new_data;
เราใช้ฟังก์ชัน INPUT เพื่อแปลงตัวแปร วัน จากตัวแปรอักขระไปเป็นตัวแปรตัวเลขใหม่ที่เรียกว่า numeric_day ได้สำเร็จ
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน SAS:
SAS: วิธีแปลงตัวแปรอักขระเป็นตัวเลข
SAS: วิธีแปลงตัวแปรตัวเลขเป็นอักขระ
SAS: วิธีแปลงตัวแปรอักขระเป็นวันที่
SAS: วิธีแปลงตัวแปรตัวเลขเป็นวันที่