ความเห็น: 2
รวมกันเมื่อฉันต่างกับเธอ 4: ก้าวย่างทางเดิน ลืมเลือนคืนวัน ดั้นด้นไป [C]
จากบันทึกที่แล้ว ผมยกตัวอย่างเพื่อให้เห็นภาพชัด ๆ ของฟังก์ชัน setdiff() ฟังก์ชัน intersect() และฟังก์ชัน union()
ฟังก์ชันทั้ง ๓ เป็นฟังก์ชันพื้นฐานของเซ็ท (set) ที่เรา ๆ ท่าน ๆ หลายคนเรียนมาหมดแล้วตั้งแต่สมัยมัธยม ประถมโน่น
คราวนี้มาถึงเรื่องของการจัดการเกี่ยวกับตัวแปรที่มีอยู่ต่างกันในแต่ละไฟล์ที่จะนำข้อมูลมารวมกัน
การจัดการนี้ขึ้นอยู่กับเราว่าเราต้องการข้อมูลอะไร และในตัวแปรที่ต่างกันอยู่ในแต่ละแฟ้มข้อมูลนั้นเป็นข้อมูลอะไร เป็นข้อมูลเดียวกันแต่ตั้งชื่อตัวแปรต่างกัน หรือเป็นคนละข้อมูลกัน
ในกรณีที่เป็นข้อมูลต่างกัน
ในกรณีนี้เราคงมีทางเลือกอยู่ ๒ ทางด้วยกันก็คือ
- เก็บเฉพาะข้อมูลที่เหมือนกัน
- เก็บทุกข้อมูลที่มีอยู่ทั้ง ๒ แฟ้มข้อมูล
กรณีทางเลือกนี้ (เก็บทุกข้อมูลที่มีอยู่ทั้ง ๒ แฟ้มข้อมูล) จะทำให้เกิดระเบียนว่างขึ้นในข้อมูล โดยจะมีระเบียนที่มีข้อมูลว่างในส่วนของตัวแปรที่มีในแฟ้มข้อมูลที่ ๑ แต่ไม่มีในแฟ้มข้อมูลที่ ๒ (มีเฉพาะข้อมูลจากแฟ้มข้อมูลที่ ๑ ระเบียนที่เหลือจะเป็นระเบียนว่าง) และตัวแปรที่มีในแฟ้มข้อมูลที่ ๒ แต่ไม่มีในแฟ้มข้อมูลที่ ๑ (มีเฉพาะข้อมูลจากแฟ้มข้อมูลที่ ๒ ระเบียนที่เหลือจะเป็นระเบียนว่าง)
จำนวนตัวแปรที่มีหลังจากที่รวมข้อมูลแบบนี้เข้าด้วยกันแล้วจะมีจำนวนตัวแปรเท่ากับ
จำนวนตัวแปรจากผลของการใช้คำสั่ง
length(setdiff(names(data1),names(data2))) + length(setdiff(names(data2),names(data1))) + length(intersect(names(data1),names(data2))
หรือเท่ากับผลจากคำสั่ง
length(union(names(data1),names(data2)))
จากตัวอย่างในบันทึกที่ ๒
> data1 <- read.csv("2dif_var_f1.csv")
> data2 <- read.csv("2dif_var_f2.csv")
> setdiff(names(data1),names(data2))
[1] "a9"
> setdiff(names(data2),names(data1))
[1] "a4" "a5" "a6"
> intersect(names(data1),names(data2))
[1] "id" "age" "sex" "a1" "a2" "a3"
> union(names(data1),names(data2))
[1] "id" "age" "sex" "a1" "a2" "a3" "a9" "a4" "a5" "a6"
> length(setdiff(names(data1),names(data2))) +
+ length(setdiff(names(data2),names(data1))) +
+ length(intersect(names(data1),names(data2)))
[1] 10
> length(union(names(data1),names(data2)))
[1] 10
อิอิอิ
เราเอง
เพลง: ล่องเรือหารัก
ศิลปิน: สุริยัน ส่องแสง
ล่องเรือหารักแต่งคำร้องโดยครูชลธี ธารทอง
ต้นฉบับขับร้องโดย สุริยัน ส่องแสง หลังจากนั้นมีศิลปินหลายท่านนำไปขับร้องเช่น ยอดรัก สลักใจ (ซึ่งน่าจะคุ้นกันดีกับเวอร์ชันนี้) เสรี รุ่งสว่าง ศรเพชร ศรสุพรรณ เอกราช สุวรรณภูมิ ...
บันทึกอื่นๆ
- เก่ากว่า « Little Wing: ก้าวย่างทางเดิน ลืม...
- ใหม่กว่า » รวมกันเมื่อฉันต่างกับเธอ 5: ก้าว...
17 กุมภาพันธ์ 2558 22:58
#102005
วันนี้น้าฯ มาสั้นดีครับ อ่านจบลงอย่างรวดเร็ว และยังคงงงเช่นเดิม
ชาวงนี้วาเลนไทน์ แต่น้าฯ ยังล่องเรือหารักอยู่เลย
เอิ้ก เอิ้ก
"ใจสั่งมา"