วิธีการลบแถวใน r (พร้อมตัวอย่าง)


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

 #remove 4th row
new_df <- df[-c(4), ]

#remove 2nd through 4th row
new_df <- df[-c(2:4), ]

#remove 1st, 2nd, and 4th row
new_df <- df[-c(1, 2, 4), ]

คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อลบแถวที่ไม่ตรงตามเงื่อนไขเฉพาะ:

 #only keep rows where col1 value is less than 10 and col2 value is less than 6
new_df <- subset(df, col1 < 10 & col2 < 6)

และคุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อลบแถวที่มีค่า NA ในคอลัมน์ใดก็ได้:

 #remove rows with NA value in any column
new_df <- na. omitted (df)

ตัวอย่างต่อไปนี้แสดงวิธีใช้แต่ละฟังก์ชันเหล่านี้ในทางปฏิบัติ

ตัวอย่างที่ 1: ลบแถวตามหมายเลข

รหัสต่อไปนี้แสดงวิธีการลบแถวตามหมายเลขแถวที่ระบุใน R:

 #create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D', 'E'),
                 pts=c(17, 12, 8, 9, 25),
                 rebs=c(3, 3, 6, 5, 8),
                 blocks=c(1, 1, 2, 4, NA))

#view data frame
df

  player pts rebs blocks
1 to 17 3 1
2 B 12 3 1
3 C 8 6 2
4 D 9 5 4
5 E 25 8 NA

#remove 4th row
df[-c(4), ]

  player pts rebs blocks
1 to 17 3 1
2 B 12 3 1
3 C 8 6 2
5 E 25 8 NA

#remove 2nd through 4th row
df[-c(2:4), ]

  player pts rebs blocks
1 to 17 3 1
5 E 25 8 NA

#remove 1st, 2nd, and 4th row
df[-c(1, 2, 4), ]

  player pts rebs blocks
3 C 8 6 2
5 E 25 8 NA

ตัวอย่างที่ 2: ลบแถวตามเงื่อนไข

รหัสต่อไปนี้แสดงวิธีการลบแถวที่ไม่ตรงตามเงื่อนไขเฉพาะ:

 #create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D', 'E'),
                 pts=c(17, 12, 8, 9, 25),
                 rebs=c(3, 3, 6, 5, 8),
                 blocks=c(1, 1, 2, 4, NA))

#view data frame
df

  player pts rebs blocks
1 to 17 3 1
2 B 12 3 1
3 C 8 6 2
4 D 9 5 4
5 E 25 8 NA

#only keep rows where pts is less than 10 and rebs is less than 6
subset(df, pts < 10 & rebs < 6)

  player pts rebs blocks
4 D 9 5 4

ตัวอย่างที่ 3: ลบแถวที่มีค่า NA

รหัสต่อไปนี้แสดงวิธีการลบแถวที่มีค่า NA ในแถวใดก็ได้:

 #create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D', 'E'),
                 pts=c(17, 12, 8, 9, 25),
                 rebs=c(3, 3, 6, 5, 8),
                 blocks=c(1, 1, 2, 4, NA))

#view data frame
df

  player pts rebs blocks
1 to 17 3 1
2 B 12 3 1
3 C 8 6 2
4 D 9 5 4
5 E 25 8 NA

#remove rows with NA value in any row:
n / A. omitted (df)

  player pts rebs blocks
1 to 17 3 1
2 B 12 3 1
3 C 8 6 2
4 D 9 5 4

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

วิธีเพิ่มแถวใน data frame ใน R
วิธีลบบรรทัดที่ซ้ำกันใน R
วิธีรวมแถวเฉพาะใน R

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

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