วิธีวนซ้ำชื่อคอลัมน์ใน r (พร้อมตัวอย่าง)


บ่อยครั้งที่คุณอาจต้องการวนซ้ำชื่อคอลัมน์ของกรอบข้อมูลใน R และดำเนินการบางอย่างกับแต่ละคอลัมน์ มีสองวิธีทั่วไปในการทำเช่นนี้:

วิธีที่ 1: ใช้ For Loop

 for (i in colnames(df)){
   some operation
}

วิธีที่ 2: ใช้ sapply()

 sapply(df, some operation )

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

วิธีที่ 1: ใช้ For Loop

รหัสต่อไปนี้แสดงวิธีการวนซ้ำชื่อคอลัมน์ของกรอบข้อมูลโดยใช้ for วนซ้ำ และแสดงค่าเฉลี่ยของแต่ละคอลัมน์:

 #create data frame
df <- data.frame(var1=c(1, 3, 3, 4, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 6, 8),
                 var4=c(1, 1, 2, 8, 9))

#view data frame
df

  var1 var2 var3 var4
1 1 7 3 1
2 3 7 3 1
3 3 8 6 2
4 4 3 6 8
5 5 2 8 9

#loop through each column and print mean of column
for (i in colnames(df)){
    print( mean (df[[i]]))
}

[1] 3.2
[1] 5.4
[1] 5.2
[1] 4.2

วิธีที่ 2: ใช้ sapply()

รหัสต่อไปนี้แสดงวิธีการวนซ้ำชื่อคอลัมน์ของกรอบข้อมูลโดยใช้ sapply() และแสดงค่าเฉลี่ยของแต่ละคอลัมน์:

 #create data frame
df <- data.frame(var1=c(1, 3, 3, 4, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 6, 8),
                 var4=c(1, 1, 2, 8, 9))

#view data frame
df

  var1 var2 var3 var4
1 1 7 3 1
2 3 7 3 1
3 3 8 6 2
4 4 3 6 8
5 5 2 8 9

#loop through each column and print mean of column
sapply(df, mean )

var1 var2 var3 var4 
 3.2 5.4 5.2 4.2

โปรดทราบว่าทั้งสองวิธีให้ผลลัพธ์ที่เหมือนกัน

ที่เกี่ยวข้อง: คำแนะนำในการใช้ (), lapply (), sapply () และ tapply () ใน R

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

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