วิธีการคำนวณโหมดตามกลุ่มใน r (พร้อมตัวอย่าง)


โหมด ของชุดข้อมูลแสดงถึงค่าที่พบบ่อยที่สุด

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

 find_mode <- function (x) {
  u <- unique(x)
  tab <- tabulate(match(x, u))
  u[tab == max(tab)]
}

ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้เพื่อคำนวณโหมดตามกลุ่มใน R

ตัวอย่างที่ 1: คำนวณโหมดตามกลุ่มใน R (โหมดเดียว)

สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ใน R ที่แสดงคะแนนที่ผู้เล่นบาสเก็ตบอลจากทีมต่างๆ ทำไว้:

 #define data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(5, 7, 7, 9, 12, 12, 10, 14))

#view data frame
df

  team points
1 to 5
2 to 7
3 to 7
4 to 9
5 B 12
6 B 12
7 B 10
8 B 14

เราสามารถใช้รหัสต่อไปนี้เพื่อคำนวณโหมดของ คะแนน ซึ่งจัดกลุ่มตาม ทีม :

 library (dplyr)

#define function to calculate mode
find_mode <- function (x) {
  u <- unique(x)
  tab <- tabulate(match(x, u))
  u[tab == max(tab)]
}

#calculate mode of 'points' by 'team'
df %>%
  group_by(team) %>%
  summarize(mode_points = find_mode(points))

# A tibble: 2 x 2
  team mode_points
         
1 to 7
2 B 12

จากผลลัพธ์เราจะเห็นได้ว่า:

  • โหมดคะแนนสำหรับทีม A คือ 7
  • โหมดคะแนนสำหรับทีม B คือ 12

ตัวอย่างที่ 2: คำนวณโหมดตามกลุ่มใน R (หลายโหมด)

สมมติว่าเรามี data frame ต่อไปนี้ใน R:

 #define data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(5, 7, 7, 9, 12, 12, 10, 10))

#view data frame
df

  team points
1 to 5
2 to 7
3 to 7
4 to 9
5 B 12
6 B 12
7 B 10
8 B 10

เราสามารถใช้รหัสต่อไปนี้เพื่อคำนวณโหมดของ คะแนน ซึ่งจัดกลุ่มตาม ทีม :

 library (dplyr)

#define function to calculate mode
find_mode <- function (x) {
  u <- unique(x)
  tab <- tabulate(match(x, u))
  u[tab == max(tab)]
}

#calculate mode of 'points' by 'team'
df %>%
  group_by(team) %>%
  summarize(mode_points = find_mode(points))

# A tibble: 3 x 2
# Groups: team [2]
  team mode_points
         
1 to 7
2 B 12
3 B 10

จากผลลัพธ์เราจะเห็นได้ว่า:

  • โหมดคะแนนสำหรับทีม A คือ 7
  • วิธีการให้คะแนนสำหรับทีม B คือ 12 และ 10

ในตัวอย่างนี้ ค่าจุดสองจุดเกิดขึ้นบ่อยที่สุดสำหรับทีม B ดังนั้นค่าโหมดเหล่านี้แต่ละค่าจึงถูกส่งกลับในบรรทัดที่แยกจากกันสำหรับทีม B ในเอาต์พุต

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีคำนวณสถิติเชิงพรรณนาอื่นๆ ใน R:

วิธีการคำนวณผลสรุปของตัวเลขห้าตัวใน R
วิธีสร้างตารางสรุปใน R
วิธีใช้ฟังก์ชัน Mean() ใน R

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

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