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"