วิธีการคำนวณค่าเฉลี่ยของหลายคอลัมน์ใน r


บ่อยครั้งคุณอาจต้องการคำนวณค่าเฉลี่ยของหลายคอลัมน์ใน R โชคดีที่คุณสามารถทำได้โดยใช้ฟังก์ชัน colMeans()

 colMeans(df)

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

การใช้ colMeans() เพื่อค้นหาค่าเฉลี่ยของหลายคอลัมน์

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

 #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))

#find mean of each column
colMeans(df)

var1 var2 var3 var4 
 3.2 5.4 5.2 4.2 

นอกจากนี้เรายังสามารถระบุได้ว่าคอลัมน์ ใด ที่จะหาค่าเฉลี่ยสำหรับ:

 #find the mean of columns 2 and 3
colMeans(df[, c(2, 3)])

var2 var3 
 5.4 5.2 

#find the mean of the first three columns
colMeans(df[, 1:3])

var1 var2 var3 
 3.2 5.4 5.2

หากมีคอลัมน์ที่ไม่ใช่ตัวเลข คุณสามารถใช้ 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),
                 var5=c('a', 'a', 'b', 'b', 'c'))

#find mean of only numeric columns
colMeans(df[ sapply (df, is.numeric)])

var1 var2 var3 var4 
 3.2 5.4 5.2 4.2

และหากมีค่าหายไปในคอลัมน์ใด ๆ คุณสามารถใช้อาร์กิวเมนต์ na.rm=TRUE เพื่อละเว้นค่าที่หายไปเมื่อคำนวณค่าเฉลี่ย:

 #create data frame with some missing values
df <- data.frame(var1=c(1, 3, NA, NA, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 6, 8),
                 var4=c(1, 1, 2, 8, NA))

#find mean of each column and ignore missing values
colMeans(df, na.rm= TRUE )

var1 var2 var3 var4 
 3.0 5.4 5.2 3.0

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

วิธีวนซ้ำชื่อคอลัมน์ใน R
วิธีรวมคอลัมน์เฉพาะใน R

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

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