วิธีตรวจสอบว่ามีคอลัมน์อยู่ใน data frame ใน r หรือไม่


คุณสามารถใช้วิธีการต่อไปนี้เพื่อตรวจสอบว่ามีคอลัมน์อยู่ในกรอบข้อมูลใน R หรือไม่:

วิธีที่ 1: ตรวจสอบว่าชื่อคอลัมน์ที่แน่นอนมีอยู่ในกรอบข้อมูลหรือไม่

 ' this_column ' %in% names(df)

วิธีที่ 2: ตรวจสอบว่ามีชื่อคอลัมน์บางส่วนอยู่ในกรอบข้อมูลหรือไม่

 any(grepl(' partial_name ', names(df)))

วิธีที่ 3: ตรวจสอบว่ามีชื่อคอลัมน์หลายคอลัมน์อยู่ในกรอบข้อมูลหรือไม่

 all(c(' this_column ', ' that_column ', ' another_column ') %in% names(df))

บทช่วยสอนนี้จะอธิบายวิธีการใช้แต่ละวิธีในทางปฏิบัติกับกรอบข้อมูลต่อไปนี้:

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#view data frame
df

  team points assists rebounds
1 A 99 33 30
2 B 90 28 28
3 C 86 31 24
4 D 88 39 24
5 E 95 34 28

ตัวอย่างที่ 1: ตรวจสอบว่ามีชื่อคอลัมน์ที่แน่นอนในกรอบข้อมูลหรือไม่

รหัสต่อไปนี้แสดงวิธีการตรวจสอบว่าชื่อที่แน่นอนของคอลัมน์ “ตีกลับ” มีอยู่ในกรอบข้อมูลหรือไม่:

 #check if exact column name 'rebounds' exists in data frame
' rebounds ' %in% names(df)

[1] TRUE

ผลลัพธ์จะคืน ค่า TRUE

สิ่งนี้บอกเราว่ามีชื่อที่แน่นอนของคอลัมน์ “การตีกลับ” อยู่ในกรอบข้อมูล

หมายเหตุ : ไวยากรณ์นี้จะคำนึงถึงขนาดตัวพิมพ์ ซึ่งหมายความว่าหากเราใช้ “Rebounds” เราจะได้รับค่า FALSE เนื่องจากไม่มีชื่อ “Rebounds” ที่มีอักษรตัวพิมพ์ใหญ่อยู่ในกรอบข้อมูล

ตัวอย่างที่ 2: ตรวจสอบว่ามีชื่อคอลัมน์บางส่วนอยู่ในกรอบข้อมูลหรือไม่

รหัสต่อไปนี้แสดงวิธี การตรวจสอบว่าชื่อคอลัมน์บางส่วน “ชา” มีอยู่ในกรอบข้อมูลหรือไม่:

 #check if partial column name 'tea' exists in data frame
any(grepl(' tea ', names(df)))

[1] TRUE

ผลลัพธ์จะคืน ค่า TRUE

สิ่งนี้บอกเราว่าชื่อคอลัมน์บางส่วน “ชา” มีอยู่ในกรอบข้อมูลจริงๆ

ตัวอย่างที่ 3: ตรวจสอบว่ามีชื่อคอลัมน์หลายคอลัมน์อยู่ในกรอบข้อมูลหรือไม่

รหัสต่อไปนี้แสดงวิธีการตรวจสอบว่าชื่อ “ทีม”, “คะแนน” และ “บล็อก” ทั้งหมดมีอยู่ในกรอบข้อมูลหรือไม่:

 #check if three column names all exist in data frame
all(c(' team ', ' points ', ' blocks ') %in% names(df))

[1] FALSE

เอาต์พุตส่งคืน FALSE

สิ่งนี้บอกเราว่าชื่อคอลัมน์ทั้งสามที่เราตรวจสอบไม่มีอยู่ในกรอบข้อมูลทั้งหมด

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:

วิธีเลือกคอลัมน์ที่มีสตริงเฉพาะใน R
วิธีลบอักขระออกจากสตริงใน R
วิธีค้นหาตำแหน่งอักขระในสตริงใน R

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *