การสร้าง data frame
การใช้ชุดข้อมูลที่มีอยู่แล้วนั้นสนุกไม่เท่าการสร้างชุดข้อมูลขึ้นมาเอง ส่วนที่เหลือของบทนี้จึงอิงจากชุดข้อมูลที่คุณสร้างขึ้นด้วยตัวเอง ได้เวลาออกสำรวจอวกาศกันแล้ว!
เป้าหมายแรกคือการสร้าง data frame ที่อธิบายลักษณะสำคัญของดาวเคราะห์ 8 ดวงในระบบสุริยะ ตามที่ Buzz บอกไว้ คุณสมบัติหลักของดาวเคราะห์ประกอบด้วย:
- ประเภทของดาวเคราะห์ (Terrestrial หรือ Gas Giant)
- ขนาดเส้นผ่านศูนย์กลางของดาวเคราะห์เทียบกับโลก
- คาบการโคจรรอบดวงอาทิตย์เทียบกับโลก
- ดาวเคราะห์มีวงแหวนหรือไม่ (TRUE หรือ FALSE)
หลังจากค้นคว้าข้อมูลจาก Wikipedia แล้ว ก็ถึงเวลาสร้าง vector ที่จำเป็น ได้แก่ name, type, diameter, rotation และ rings ซึ่งได้เขียนโค้ดไว้ในตัวแก้ไขให้แล้ว โดยสมาชิกตัวแรกในแต่ละ vector จะตรงกับข้อมูลของดาวเคราะห์ดวงแรก
ใช้ฟังก์ชัน data.frame() เพื่อสร้าง data frame โดยส่ง vector เหล่านั้นเป็นอาร์กิวเมนต์ ซึ่งจะกลายเป็นคอลัมน์ต่าง ๆ ใน data frame เนื่องจากทุกคอลัมน์ต้องมีความยาวเท่ากัน vector ที่ส่งเข้าไปจึงต้องมีจำนวนสมาชิกเท่ากันด้วย ทั้งนี้ แต่ละคอลัมน์อาจมีประเภทข้อมูลที่แตกต่างกันได้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
R เบื้องต้น
คำแนะนำการฝึกหัด
ใช้ฟังก์ชัน data.frame() เพื่อสร้าง data frame โดยส่ง vector name, type, diameter, rotation และ rings เป็นอาร์กิวเมนต์ให้ data.frame() ตามลำดับนี้ แล้วตั้งชื่อ data frame ที่ได้ว่า planets_df
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Definition of vectors
name <- c("Mercury", "Venus", "Earth",
"Mars", "Jupiter", "Saturn",
"Uranus", "Neptune")
type <- c("Terrestrial planet",
"Terrestrial planet",
"Terrestrial planet",
"Terrestrial planet", "Gas giant",
"Gas giant", "Gas giant", "Gas giant")
diameter <- c(0.382, 0.949, 1, 0.532,
11.209, 9.449, 4.007, 3.883)
rotation <- c(58.64, -243.02, 1, 1.03,
0.41, 0.43, -0.72, 0.67)
rings <- c(FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE)
# Create a data frame from the vectors
planets_df <-