วิธีการคำนวณความสัมพันธ์ตามกลุ่มใน r


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อคำนวณความสัมพันธ์ระหว่างตัวแปรสองตัวตามกลุ่มใน R:

 library (dplyr)

df %>%
  group_by(group_var) %>%
  summarize(cor=cor(var1, var2))

ไวยากรณ์เฉพาะนี้จะคำนวณ ความสัมพันธ์ ระหว่าง var1 และ var2 โดยจัดกลุ่มตาม group_var

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

ตัวอย่าง: คำนวณความสัมพันธ์ตามกลุ่มใน R

สมมติว่าเรามีกรอบข้อมูลต่อไปนี้ซึ่งมีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลจากทีมต่างๆ:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(18, 22, 19, 14, 14, 11, 20, 28),
                 assists=c(2, 7, 9, 3, 12, 10, 14, 21))

#view data frame
df

  team points assists
1 to 18 2
2 to 22 7
3 A 19 9
4 A 14 3
5 B 14 12
6 B 11 10
7 B 20 14
8 B 28 21

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

 library (dplyr)

df %>%
  group_by(team) %>%
  summarize(cor=cor(points, assists))

# A tibble: 2 x 2
  team horn
   
1 A 0.603
2 B 0.982

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

  • ค่าสัมประสิทธิ์สหสัมพันธ์ระหว่างคะแนนและแอสซิสต์สำหรับทีม A คือ 0.603
  • ค่าสัมประสิทธิ์สหสัมพันธ์ระหว่างคะแนนและแอสซิสต์สำหรับทีม B คือ 0.982

เนื่องจากสัมประสิทธิ์สหสัมพันธ์ทั้งสองเป็นบวก สิ่งนี้บอกเราว่าความสัมพันธ์ระหว่างคะแนนและแอสซิสต์สำหรับทั้งสองทีมนั้นเป็นเชิงบวก

ที่เกี่ยวข้อง: อะไรคือความสัมพันธ์ที่ “แข็งแกร่ง”?

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน R:

วิธีนับค่าที่ไม่ซ้ำตามกลุ่มใน R
วิธีคำนวณผลรวมตามกลุ่มใน R
วิธีคำนวณค่าเฉลี่ยต่อกลุ่มใน R
วิธีคำนวณสถิติสรุปตามกลุ่มใน R

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

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