R - ค่าเฉลี่ยค่ามัธยฐานและโหมด

การวิเคราะห์ทางสถิติใน R ทำได้โดยใช้ฟังก์ชันที่สร้างขึ้นมากมาย ฟังก์ชันเหล่านี้ส่วนใหญ่เป็นส่วนหนึ่งของแพ็กเกจฐาน R ฟังก์ชันเหล่านี้ใช้เวกเตอร์ R เป็นอินพุตพร้อมกับอาร์กิวเมนต์และให้ผลลัพธ์

ฟังก์ชันที่เรากำลังพูดถึงในบทนี้ ได้แก่ ค่าเฉลี่ยค่ามัธยฐานและโหมด

ค่าเฉลี่ย

คำนวณโดยการหาผลรวมของค่าและหารด้วยจำนวนค่าในชุดข้อมูล

ฟังก์ชั่น mean() ใช้คำนวณค่านี้ใน R

ไวยากรณ์

ไวยากรณ์พื้นฐานสำหรับการคำนวณค่าเฉลี่ยใน R คือ -

mean(x, trim = 0, na.rm = FALSE, ...)

ต่อไปนี้เป็นคำอธิบายของพารามิเตอร์ที่ใช้ -

  • x คือเวกเตอร์อินพุต

  • trim ใช้เพื่อวางข้อสังเกตจากปลายทั้งสองด้านของเวกเตอร์ที่เรียงลำดับ

  • na.rm ใช้เพื่อลบค่าที่ขาดหายไปจากเวกเตอร์อินพุต

ตัวอย่าง

# Create a vector. 
x <- c(12,7,3,4.2,18,2,54,-21,8,-5)

# Find Mean.
result.mean <- mean(x)
print(result.mean)

เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

[1] 8.22

การใช้ตัวเลือกการตัดแต่ง

เมื่อใส่พารามิเตอร์ตัดแต่งค่าในเวกเตอร์จะถูกจัดเรียงจากนั้นจำนวนการสังเกตที่ต้องการจะลดลงจากการคำนวณค่าเฉลี่ย

เมื่อตัดแต่ง = 0.3 ค่า 3 ค่าจากปลายแต่ละด้านจะหลุดออกจากการคำนวณเพื่อหาค่าเฉลี่ย

ในกรณีนี้เวกเตอร์ที่เรียงลำดับคือ (−21, −5, 2, 3, 4.2, 7, 8, 12, 18, 54) และค่าที่ลบออกจากเวกเตอร์สำหรับการคำนวณค่าเฉลี่ยคือ (−21, −5,2) จากซ้ายและ (12,18,54) จากขวา

# Create a vector.
x <- c(12,7,3,4.2,18,2,54,-21,8,-5)

# Find Mean.
result.mean <-  mean(x,trim = 0.3)
print(result.mean)

เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

[1] 5.55

การใช้ตัวเลือก NA

หากไม่มีค่าที่ขาดหายไปฟังก์ชัน mean จะส่งกลับ NA

หากต้องการทิ้งค่าที่หายไปจากการคำนวณให้ใช้ na.rm = TRUE ซึ่งหมายถึงลบค่า NA

# Create a vector. 
x <- c(12,7,3,4.2,18,2,54,-21,8,-5,NA)

# Find mean.
result.mean <-  mean(x)
print(result.mean)

# Find mean dropping NA values.
result.mean <-  mean(x,na.rm = TRUE)
print(result.mean)

เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

[1] NA
[1] 8.22

ค่ามัธยฐาน

ค่ากลางที่สุดในชุดข้อมูลเรียกว่าค่ามัธยฐาน median() ฟังก์ชันถูกใช้ใน R เพื่อคำนวณค่านี้

ไวยากรณ์

ไวยากรณ์พื้นฐานสำหรับการคำนวณค่ามัธยฐานใน R คือ -

median(x, na.rm = FALSE)

ต่อไปนี้เป็นคำอธิบายของพารามิเตอร์ที่ใช้ -

  • x คือเวกเตอร์อินพุต

  • na.rm ใช้เพื่อลบค่าที่ขาดหายไปจากเวกเตอร์อินพุต

ตัวอย่าง

# Create the vector.
x <- c(12,7,3,4.2,18,2,54,-21,8,-5)

# Find the median.
median.result <- median(x)
print(median.result)

เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

[1] 5.6

โหมด

โหมดคือค่าที่มีจำนวนครั้งสูงสุดในชุดข้อมูล ค่าเฉลี่ยและค่ามัธยฐานที่ไม่เหมือนกันโหมดสามารถมีได้ทั้งข้อมูลตัวเลขและตัวอักษร

R ไม่มีฟังก์ชันมาตรฐานในตัวเพื่อคำนวณโหมด ดังนั้นเราจึงสร้างฟังก์ชันผู้ใช้เพื่อคำนวณโหมดของชุดข้อมูลใน R ฟังก์ชันนี้ใช้เวกเตอร์เป็นอินพุตและให้ค่าโหมดเป็นเอาต์พุต

ตัวอย่าง

# Create the function.
getmode <- function(v) {
   uniqv <- unique(v)
   uniqv[which.max(tabulate(match(v, uniqv)))]
}

# Create the vector with numbers.
v <- c(2,1,2,3,1,2,3,4,1,5,5,3,2,3)

# Calculate the mode using the user function.
result <- getmode(v)
print(result)

# Create the vector with characters.
charv <- c("o","it","the","it","it")

# Calculate the mode using the user function.
result <- getmode(charv)
print(result)

เมื่อเรารันโค้ดด้านบนจะให้ผลลัพธ์ดังนี้ -

[1] 2
[1] "it"