วิธีการคำนวณค่าเฉลี่ยเรขาคณิตใน r (พร้อมตัวอย่าง)


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

 exp(mean(log(x)))

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

ตัวอย่างที่ 1: คำนวณค่าเฉลี่ยเรขาคณิตของเวกเตอร์

รหัสต่อไปนี้แสดงวิธีการคำนวณค่าเฉลี่ยเรขาคณิตของเวกเตอร์ตัวเดียวใน R:

 #definevector
x <- c(4, 8, 9, 9, 12, 14, 17)

#calculate geometric mean of values in vector
exp(mean(log(x)))

[1] 9.579479

ตัวอย่างที่ 2: คำนวณค่าเฉลี่ยเรขาคณิตของเวกเตอร์ที่มีศูนย์

หากเวกเตอร์ของคุณมีเลขศูนย์หรือจำนวนลบ สูตรด้านบนจะส่งกลับ 0 หรือ NaN

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

 #define vector with some zeros and negative numbers
x <- c(4, 8, 9, 9, 12, 14, 17, 0, -4)

#calculate geometric mean of values in vector
exp(mean(log(x[x > 0])))

[1] 9.579479

ตัวอย่างที่ 3: คำนวณค่าเฉลี่ยเรขาคณิตของคอลัมน์ในกรอบข้อมูล

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

 #define data frame
df <- data. frame (a=c(1, 3, 4, 6, 8, 8, 9),
                 b=c(7, 8, 8, 7, 13, 14, 16),
                 c=c(11, 13, 13, 18, 19, 19, 22),
                 d=c(4, 8, 9, 9, 12, 14, 17))

#calculate geometric mean of values in column 'a'
exp(mean(log(df$a)))

[1] 4.567508

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

 #define data frame
df <- data. frame (a=c(1, 3, 4, 6, 8, 8, 9),
                 b=c(7, 8, 8, 7, 13, 14, 16),
                 c=c(11, 13, 13, 18, 19, 19, 22),
                 d=c(4, 8, 9, 9, 12, 14, 17))

#calculate geometric mean of values in column 'a', 'b', and 'd'
apply(df[, c(' a ', ' b ', ' d ')], 2, function (x) exp(mean(log(x))))

       abd
4.567508 9.871128 9.579479

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

วิธีคำนวณค่าเฉลี่ยต่อกลุ่มใน R
วิธีการคำนวณค่าเฉลี่ยถ่วงน้ำหนักใน R
วิธีการคำนวณค่าคลาดเคลื่อนมาตรฐานของค่าเฉลี่ยใน R

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

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