ความสัมพันธ์ใน R: เมทริกซ์สหสัมพันธ์เพียร์สันและสเปียร์แมน

ความสัมพันธ์แบบไบวาเรียตในอาร์

ความสัมพันธ์แบบไบวาเรียตอธิบายความสัมพันธ์หรือความสัมพันธ์ระหว่างตัวแปรสองตัวใน R ในบทช่วยสอนนี้ เราจะพูดถึงแนวคิดเรื่องความสัมพันธ์และแสดงให้เห็นว่าสามารถใช้เพื่อวัดความสัมพันธ์ระหว่างตัวแปรสองตัวใน R ได้อย่างไร

ความสัมพันธ์ในการเขียนโปรแกรม R

มีสองวิธีหลักในการคำนวณความสัมพันธ์ระหว่างตัวแปรสองตัวในการเขียนโปรแกรม R:

  • เพียร์สัน: ความสัมพันธ์แบบพาราเมตริก
  • พลหอก: ความสัมพันธ์แบบไม่อิงพารามิเตอร์

เมทริกซ์สหสัมพันธ์เพียร์สันในอาร์

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

การขอ ค่าสัมประสิทธิ์สหสัมพันธ์, , เป็นตัววัดความแข็งแกร่งของ เชิงเส้น ความสัมพันธ์ระหว่างตัวแปรสองตัวและ มีการคำนวณดังนี้:

เมทริกซ์สหสัมพันธ์เพียร์สันในอาร์

สีสดสวย

  • เมทริกซ์สหสัมพันธ์เพียร์สันในอาร์เช่น ค่าเบี่ยงเบนมาตรฐานของ
  • เมทริกซ์สหสัมพันธ์เพียร์สันในอาร์เช่น ค่าเบี่ยงเบนมาตรฐานของ

ความสัมพันธ์อยู่ระหว่าง -1 ถึง 1

  • ค่าใกล้หรือเท่ากับ 0 แสดงถึงความสัมพันธ์เชิงเส้นเพียงเล็กน้อยหรือไม่มีเลยระหว่าง และ
  • ในทางกลับกัน ยิ่งค่า 1 หรือ -1 ใกล้มากเท่าไร ความสัมพันธ์เชิงเส้นก็จะยิ่งแข็งแกร่งมากขึ้นเท่านั้น

เราสามารถคำนวณ t-test ได้ดังนี้ และตรวจสอบตารางการแจกแจงด้วยระดับความอิสระเท่ากับ :

เมทริกซ์สหสัมพันธ์เพียร์สันในอาร์

สเปียร์แมนอันดับสหสัมพันธ์ในอาร์

ความสัมพันธ์ของอันดับจะเรียงลำดับการสังเกตตามอันดับ และคำนวณระดับของความคล้ายคลึงกันระหว่างอันดับ ความสัมพันธ์ของอันดับมีข้อดีตรงที่ทนทานต่อค่าผิดปกติ และไม่เชื่อมโยงกับการกระจายข้อมูล โปรดทราบว่าความสัมพันธ์ของอันดับจะเหมาะสมกับตัวแปรลำดับ

ความสัมพันธ์อันดับของสเปียร์แมนจะอยู่ระหว่าง -1 ถึง 1 เสมอ โดยค่าที่ใกล้เคียงกับค่าสุดขีดนั้นแสดงถึงความสัมพันธ์ที่แข็งแกร่ง โดยคำนวณได้ดังนี้:

สเปียร์แมนอันดับสหสัมพันธ์ในอาร์

โดยระบุความแปรปรวนร่วมระหว่างอันดับ และ ตัวส่วนจะคำนวณค่าเบี่ยงเบนมาตรฐาน

ใน R เราสามารถใช้ฟังก์ชัน cor() ได้ ใช้เวลาสามอาร์กิวเมนต์ , และวิธีการ

cor(x, y, method)

ข้อโต้แย้ง:

  • x: เวกเตอร์แรก
  • y: เวกเตอร์ที่สอง
  • วิธี: สูตรที่ใช้คำนวณความสัมพันธ์ ค่าสตริงสามค่า:
    • “เพียร์สัน”
    • “เคนดัลล์”
    • “พลหอก”

สามารถเพิ่มอาร์กิวเมนต์ทางเลือกได้หากเวกเตอร์มีค่าหายไป: use = “complete.obs”

เราจะใช้ชุดข้อมูล BudgetUK ชุดข้อมูลนี้รายงานการจัดสรรงบประมาณของครัวเรือนชาวอังกฤษระหว่างปี 1980 ถึง 1982 มีข้อสังเกต 1519 รายการพร้อมคุณลักษณะ XNUMX ประการ ได้แก่:

  • อาหาร: แบ่งปันอาหาร แบ่งปันการใช้จ่าย
  • wfuel: แบ่งการใช้จ่ายน้ำมันเชื้อเพลิง
  • ผ้า: ส่วนแบ่งงบประมาณสำหรับการใช้จ่ายด้านเสื้อผ้า
  • วอลค: แบ่งปันการใช้จ่ายเครื่องดื่มแอลกอฮอล์
  • wtrans: แบ่งปันค่าใช้จ่ายในการขนส่ง
  • อย่างอื่น: ส่วนแบ่งของการใช้จ่ายสินค้าอื่นๆ
  • โทเท็ปป์: การใช้จ่ายครัวเรือนทั้งหมดเป็นปอนด์
  • เงินได้: รายได้สุทธิของครัวเรือนทั้งหมด
  • อายุ: อายุครัวเรือน
  • เด็ก ๆ: จำนวนบุตร

ตัวอย่าง

library(dplyr)
PATH <-"https://raw.githubusercontent.com/guru99-edu/R-Programming/master/british_household.csv"
data <-read.csv(PATH)
  filter(income < 500)
  mutate(log_income = log(income),
         log_totexp = log(totexp),
         children_fac = factor(children, order = TRUE, labels = c("No", "Yes")))
  select(-c(X,X.1, children, totexp, income))
glimpse(data)

คำอธิบายรหัส

  • ก่อนอื่นเรานำเข้าข้อมูลและดูด้วยฟังก์ชันเหลือบ () จากไลบรารี dplyr
  • สามแต้มมีมากกว่า 500 ดังนั้นเราจึงตัดสินใจแยกออก
  • เป็นเรื่องปกติในการแปลงตัวแปรทางการเงินในบันทึก ช่วยลดผลกระทบของค่าผิดปกติและลดความเบ้ในชุดข้อมูล

Output:

## Observations: 1,516## Variables: 10
## $ wfood        <dbl> 0.4272, 0.3739, 0.1941, 0.4438, 0.3331, 0.3752, 0...
## $ wfuel        <dbl> 0.1342, 0.1686, 0.4056, 0.1258, 0.0824, 0.0481, 0...
## $ wcloth       <dbl> 0.0000, 0.0091, 0.0012, 0.0539, 0.0399, 0.1170, 0...
## $ walc         <dbl> 0.0106, 0.0825, 0.0513, 0.0397, 0.1571, 0.0210, 0...
## $ wtrans       <dbl> 0.1458, 0.1215, 0.2063, 0.0652, 0.2403, 0.0955, 0...
## $ wother       <dbl> 0.2822, 0.2444, 0.1415, 0.2716, 0.1473, 0.3431, 0...
## $ age          <int> 25, 39, 47, 33, 31, 24, 46, 25, 30, 41, 48, 24, 2...
## $ log_income   <dbl> 4.867534, 5.010635, 5.438079, 4.605170, 4.605170,...
## $ log_totexp   <dbl> 3.912023, 4.499810, 5.192957, 4.382027, 4.499810,...
## $ children_fac <ord> Yes, Yes, Yes, Yes, No, No, No, No, No, No, Yes, ...

เราสามารถคำนวณค่าสัมประสิทธิ์สหสัมพันธ์ระหว่างรายได้และตัวแปร wfood ได้ด้วยวิธี "pearson" และ "spearman"

cor(data$log_income, data$wfood, method = "pearson")

Output:

## [1] -0.2466986
cor(data$log_income, data$wfood, method = "spearman")

Output:

## [1] -0.2501252

เมทริกซ์สหสัมพันธ์ในอาร์

ความสัมพันธ์แบบสองตัวแปรเป็นการเริ่มต้นที่ดี แต่เราจะได้ภาพรวมที่กว้างขึ้นด้วยการวิเคราะห์หลายตัวแปร ความสัมพันธ์กับตัวแปรหลายตัวแสดงอยู่ภายใน a เมทริกซ์สหสัมพันธ์- เมทริกซ์สหสัมพันธ์คือเมทริกซ์ที่แสดงถึงความสัมพันธ์คู่ของตัวแปรทั้งหมด

ฟังก์ชัน cor() ส่งกลับเมทริกซ์สหสัมพันธ์ ข้อแตกต่างเพียงอย่างเดียวกับความสัมพันธ์แบบไบวาเรียตคือเราไม่จำเป็นต้องระบุว่าตัวแปรใด ตามค่าเริ่มต้น R จะคำนวณความสัมพันธ์ระหว่างตัวแปรทั้งหมด

โปรดทราบว่าไม่สามารถคำนวณความสัมพันธ์สำหรับตัวแปรตัวประกอบได้ เราต้องแน่ใจว่าเราละทิ้งคุณลักษณะหมวดหมู่ก่อนที่เราจะผ่านกรอบข้อมูลภายใน cor()

เมทริกซ์สหสัมพันธ์มีความสมมาตร ซึ่งหมายความว่าค่าที่อยู่เหนือเส้นทแยงมุมจะมีค่าเดียวกันกับค่าด้านล่าง การแสดงครึ่งหนึ่งของเมทริกซ์จะมองเห็นได้ชัดเจนกว่า

เรายกเว้น Children_fac เนื่องจากเป็นตัวแปรระดับปัจจัย cor ไม่มีความสัมพันธ์กับตัวแปรหมวดหมู่

# the last column of data is a factor level. We don't include it in the code
mat_1 <-as.dist(round(cor(data[,1:9]),2))
mat_1

คำอธิบายรหัส

  • คร(ข้อมูล): แสดงเมทริกซ์สหสัมพันธ์
  • รอบ (ข้อมูล 2): ปัดเศษเมทริกซ์สหสัมพันธ์ด้วยทศนิยม 2 ตำแหน่ง
  • as.dist(): แสดงเฉพาะครึ่งหลังเท่านั้น

Output:

##            wfood wfuel wcloth  walc wtrans wother   age log_income
## wfuel       0.11                                                  
## wcloth     -0.33 -0.25                                            
## walc       -0.12 -0.13  -0.09                                     
## wtrans     -0.34 -0.16  -0.19 -0.22                               
## wother     -0.35 -0.14  -0.22 -0.12  -0.29                        
## age         0.02 -0.05   0.04 -0.14   0.03   0.02                 
## log_income -0.25 -0.12   0.10  0.04   0.06   0.13  0.23           
## log_totexp -0.50 -0.36   0.34  0.12   0.15   0.15  0.21       0.49

ระดับความสำคัญ

ระดับนัยสำคัญมีประโยชน์ในบางสถานการณ์เมื่อเราใช้วิธีเพียร์สันหรือสเปียร์แมน ฟังก์ชัน rcorr() จากไลบรารี Hmisc คำนวณค่า p ให้เรา เราสามารถดาวน์โหลดห้องสมุดได้จาก คอนด้า และคัดลอกโค้ดเพื่อวางลงในเทอร์มินัล:

conda install -c r r-hmisc

rcorr() ต้องใช้ data frame ที่จะจัดเก็บเป็นเมทริกซ์ เราสามารถแปลงข้อมูลของเราให้เป็นเมทริกซ์ก่อนที่จะคำนวณเมทริกซ์สหสัมพันธ์ด้วยค่า p

library("Hmisc")
data_rcorr <-as.matrix(data[, 1: 9])

mat_2 <-rcorr(data_rcorr)
# mat_2 <-rcorr(as.matrix(data)) returns the same output

รายการวัตถุ mat_2 มีสามองค์ประกอบ:

  • r: เอาท์พุตของเมทริกซ์สหสัมพันธ์
  • n: จำนวนการสังเกต
  • P: ค่า p

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

p_value <-round(mat_2[["P"]], 3)
p_value

คำอธิบายรหัส

  • mat_2[[“พี”]]: ค่า p จะถูกเก็บไว้ในองค์ประกอบที่เรียกว่า P
  • รอบ(mat_2[[“P”]], 3): ปัดเศษองค์ประกอบด้วยตัวเลขสามหลัก

Output:

           wfood wfuel wcloth  walc wtrans wother   age log_income log_totexp
wfood         NA 0.000  0.000 0.000  0.000  0.000 0.365      0.000          0
wfuel      0.000    NA  0.000 0.000  0.000  0.000 0.076      0.000          0
wcloth     0.000 0.000     NA 0.001  0.000  0.000 0.160      0.000          0
walc       0.000 0.000  0.001    NA  0.000  0.000 0.000      0.105          0
wtrans     0.000 0.000  0.000 0.000     NA  0.000 0.259      0.020          0
wother     0.000 0.000  0.000 0.000  0.000     NA 0.355      0.000          0
age        0.365 0.076  0.160 0.000  0.259  0.355    NA      0.000          0
log_income 0.000 0.000  0.000 0.105  0.020  0.000 0.000         NA          0
log_totexp 0.000 0.000  0.000 0.000  0.000  0.000 0.000      0.000         NA

การแสดงภาพเมทริกซ์สหสัมพันธ์ใน R

แผนที่ความร้อนเป็นอีกวิธีหนึ่งในการแสดงเมทริกซ์สหสัมพันธ์ ห้องสมุด GGally เป็นส่วนขยายของ ggplot2 ขณะนี้ยังไม่มีให้บริการในห้องสมุด conda เราสามารถติดตั้งได้โดยตรงในคอนโซล

install.packages("GGally")

การแสดงภาพเมทริกซ์สหสัมพันธ์

ไลบรารีประกอบด้วยฟังก์ชันต่างๆ เพื่อแสดงสถิติสรุป เช่น ความสัมพันธ์และการแจกแจงของตัวแปรทั้งหมดใน a เมทริกซ์.

ฟังก์ชัน ggcorr() มีอาร์กิวเมนต์มากมาย เราจะแนะนำเฉพาะข้อโต้แย้งที่เราจะใช้ในบทช่วยสอน:

ฟังก์ชัน ggcorr

ggcorr(df, method = c("pairwise", "pearson"),
  nbreaks = NULL, digits = 2, low = "#3B9AB2",
  mid = "#EEEEEE", high = "#F21A00",
  geom = "tile", label = FALSE,
  label_alpha = FALSE)

ข้อโต้แย้ง:

  • df: ชุดข้อมูลที่ใช้
  • วิธี:สูตรในการคำนวณความสัมพันธ์ โดยค่าเริ่มต้นจะคำนวณแบบคู่และเพียร์สัน
  • แบ่ง: ส่งกลับช่วงหมวดหมู่สำหรับการใช้สีของสัมประสิทธิ์ ตามค่าเริ่มต้น ไม่มีการหยุดพักและการไล่ระดับสีจะต่อเนื่องกัน
  • ตัวเลข: ปัดเศษค่าสัมประสิทธิ์สหสัมพันธ์ ตามค่าเริ่มต้น ให้ตั้งค่าเป็น 2
  • ต่ำ: ควบคุมระดับสีล่าง
  • ตรงกลาง: ควบคุมระดับกลางของสี
  • สูง: ควบคุมระดับสูงของสี
  • เรขาคณิต: ควบคุมรูปร่างของอาร์กิวเมนต์ทางเรขาคณิต ตามค่าเริ่มต้น "ไทล์"
  • ฉลาก: ค่าบูลีน แสดงหรือไม่ติดฉลาก ตามค่าเริ่มต้น ให้ตั้งค่าเป็น "FALSE"

แผนที่ความร้อนพื้นฐาน

พล็อตพื้นฐานที่สุดของแพ็คเกจคือแผนที่ความร้อน คำอธิบายแผนภูมิแสดงสีแบบไล่ระดับจาก -1 ถึง 1 โดยสีร้อนแสดงถึงความสัมพันธ์เชิงบวกที่ชัดเจน และสีเย็นแสดงถึงความสัมพันธ์เชิงลบ

library(GGally)
ggcorr(data)

คำอธิบายรหัส

  • ggcorr (ข้อมูล): จำเป็นต้องมีอาร์กิวเมนต์เดียวเท่านั้น ซึ่งก็คือชื่อเฟรมข้อมูล ตัวแปรระดับปัจจัยไม่รวมอยู่ในโครงเรื่อง

Output:

แผนที่ความร้อนพื้นฐาน

การเพิ่มการควบคุมลงในแผนที่ความร้อน

เราสามารถเพิ่มการควบคุมเพิ่มเติมให้กับกราฟได้:

ggcorr(data,
    nbreaks = 6,
    low = "steelblue",
    mid = "white",
    high = "darkred",
    geom = "circle")

คำอธิบายรหัส

  • nbreaks=6: ทำลายตำนาน 6 อันดับ
  • ต่ำ = “สตีลบลู”: ใช้สีอ่อนกว่าสำหรับความสัมพันธ์เชิงลบ
  • กลาง = “สีขาว”: ใช้สีขาวสำหรับความสัมพันธ์ในระดับกลาง
  • สูง = “เข้ม”: ใช้สีเข้มเพื่อความสัมพันธ์เชิงบวก
  • geom = “วงกลม”:ใช้วงกลมเป็นรูปร่างของหน้าต่างในแผนที่ความร้อน ขนาดของวงกลมจะแปรผันตามค่าสัมบูรณ์ของความสัมพันธ์

Output:

การเพิ่มการควบคุมลงในแผนที่ความร้อน

การเพิ่มป้ายกำกับลงในแผนที่ความร้อน

GGally ช่วยให้เราเพิ่มป้ายกำกับภายในหน้าต่างได้:

ggcorr(data,
    nbreaks = 6,
    label = TRUE,
    label_size = 3,
    color = "grey50")

คำอธิบายรหัส

  • ป้ายกำกับ = จริง: เพิ่มค่าสัมประสิทธิ์สหสัมพันธ์ภายในแผนที่ความร้อน
  • สี = “สีเทา50”: เลือกสี เช่น สีเทา
  • label_size = 3: กำหนดขนาดของฉลากเท่ากับ 3

Output:

การเพิ่มป้ายกำกับลงในแผนที่ความร้อน

ฟังก์ชัน ggpairs

ในที่สุด เราขอแนะนำฟังก์ชันอื่นจากไลบรารี GGaly นั่นก็คือ Ggpair ซึ่งจะสร้างกราฟในรูปแบบเมทริกซ์ เราสามารถแสดงการคำนวณสามประเภทภายในกราฟเดียว เมทริกซ์คือมิติที่มีจำนวนการสังเกตเท่ากับ ส่วนบน/ล่างแสดงหน้าต่างและในแนวทแยง เราสามารถควบคุมข้อมูลที่เราต้องการแสดงในแต่ละส่วนของเมทริกซ์ได้ สูตรสำหรับ ggpair คือ:

ggpair(df, columns = 1: ncol(df), title = NULL,
    upper = list(continuous = "cor"),
    lower = list(continuous = "smooth"),
    mapping = NULL)		

ข้อโต้แย้ง:

  • df: ชุดข้อมูลที่ใช้
  • คอลัมน์: เลือกคอลัมน์ที่จะวาดโครงเรื่อง
  • ชื่อเรื่อง: รวมชื่อเรื่อง
  • บน: ควบคุมกล่องเหนือเส้นทแยงมุมของกราฟ จำเป็นต้องระบุประเภทของการคำนวณหรือกราฟที่จะส่งคืน หาก continuous = “cor” เราจะขอให้ R คำนวณความสัมพันธ์ โปรดทราบว่าอาร์กิวเมนต์จะต้องเป็นรายการ สามารถใช้อาร์กิวเมนต์อื่นๆ ได้ โปรดดูข้อมูลเพิ่มเติมใน [vignette](“http://ggobi.github.io/ggally/#custom_functions”)
  • ลด:ควบคุมกล่องที่อยู่ด้านล่างแนวทแยง
  • การทำแผนที่: บ่งบอกถึงความสวยงามของกราฟ ตัวอย่างเช่น เราสามารถคำนวณกราฟสำหรับกลุ่มต่างๆ

การวิเคราะห์ตัวแปรคู่ด้วย ggpair พร้อมการจัดกลุ่ม

กราฟถัดไปแสดงข้อมูลสามรายการ:

  • เมทริกซ์สหสัมพันธ์ระหว่างตัวแปร log_totexp, log_income, อายุ และ wtrans จัดกลุ่มตามว่าครัวเรือนมีลูกหรือไม่
  • พล็อตการกระจายของตัวแปรแต่ละตัวตามกลุ่ม
  • แสดงแผนภูมิกระจายพร้อมแนวโน้มตามกลุ่ม
library(ggplot2)
ggpairs(data, columns = c("log_totexp", "log_income", "age", "wtrans"), title = "Bivariate analysis of revenue expenditure by the British household", upper = list(continuous = wrap("cor",
        size = 3)),
    lower = list(continuous = wrap("smooth",
        alpha = 0.3,
        size = 0.1)),
    mapping = aes(color = children_fac))

คำอธิบายรหัส

  • คอลัมน์ = c("log_totexp", "log_income", "อายุ", "wtrans"): เลือกตัวแปรที่จะแสดงในกราฟ
  • title = “การวิเคราะห์ Bivariate ของรายจ่ายรายรับโดยครัวเรือนอังกฤษ”: เพิ่มชื่อเรื่อง
  • บน = รายการ (): ควบคุมส่วนบนของกราฟ คือเหนือเส้นทแยงมุม
  • ต่อเนื่อง = ห่อ ("คร", ขนาด = 3)): คำนวณค่าสัมประสิทธิ์สหสัมพันธ์ เราล้อมอาร์กิวเมนต์ต่อเนื่องไว้ภายในฟังก์ชัน wrap() เพื่อควบคุมความสวยงามของกราฟ ( เช่น ขนาด = 3) -lower = list(): ควบคุมส่วนล่างของกราฟ คือด้านล่างเส้นทแยงมุม
  • ต่อเนื่อง = ห่อ ("เรียบ",อัลฟา = 0.3,ขนาด=0.1): เพิ่มแผนภูมิกระจายที่มีแนวโน้มเป็นเส้นตรง เราล้อมอาร์กิวเมนต์ต่อเนื่องไว้ภายในฟังก์ชัน wrap() เพื่อควบคุมความสวยงามของกราฟ ( เช่น size=0.1, alpha=0.3)
  • การทำแผนที่ = aes (สี = children_fac):เราต้องการให้แต่ละส่วนของกราฟถูกวางซ้อนกันโดยตัวแปร children_fac ซึ่งเป็นตัวแปรเชิงหมวดหมู่ที่มีค่า 1 หากครัวเรือนไม่มีลูกและ 2 หากไม่เช่นนั้น

Output:

การวิเคราะห์ตัวแปรคู่ด้วย ggpair พร้อมการจัดกลุ่ม

การวิเคราะห์ตัวแปรคู่ด้วย ggpair พร้อมการจัดกลุ่มบางส่วน

กราฟด้านล่างแตกต่างออกไปเล็กน้อย เราเปลี่ยนตำแหน่งของการแมปภายในอาร์กิวเมนต์ด้านบน

ggpairs(data, columns = c("log_totexp", "log_income", "age", "wtrans"),
    title = "Bivariate analysis of revenue expenditure by the British household",
    upper = list(continuous = wrap("cor",
            size = 3),
        mapping = aes(color = children_fac)),
    lower = list(
        continuous = wrap("smooth",
            alpha = 0.3,
            size = 0.1))
)

คำอธิบายรหัส

  • รหัสเดียวกันกับตัวอย่างก่อนหน้า ยกเว้น:
  • mapping = aes(color = children_fac): ย้ายรายการไปด้านบน = list() เราต้องการให้การคำนวณซ้อนกันตามกลุ่มในส่วนบนของกราฟเท่านั้น

Output:

การวิเคราะห์ตัวแปรคู่ด้วย ggpair พร้อมการจัดกลุ่มบางส่วน

สรุป

  • ความสัมพันธ์แบบไบวาเรียตอธิบายความสัมพันธ์หรือความสัมพันธ์ระหว่างตัวแปรสองตัวใน R
  • มีสองวิธีหลักในการคำนวณความสัมพันธ์ระหว่างตัวแปรสองตัวใน การเขียนโปรแกรม R: เพียร์สันและสเปียร์แมน
  • วิธีความสัมพันธ์แบบเพียร์สันมักใช้เป็นการตรวจสอบเบื้องต้นสำหรับความสัมพันธ์ระหว่างตัวแปรสองตัว
  • ความสัมพันธ์ของอันดับจะเรียงลำดับการสังเกตตามอันดับ และคำนวณระดับของความคล้ายคลึงกันระหว่างอันดับ
  • ความสัมพันธ์อันดับของสเปียร์แมน , จะอยู่ระหว่าง -1 ถึง 1 เสมอ โดยค่าที่ใกล้เคียงกับค่าสุดขั้วแสดงถึงความสัมพันธ์ที่แข็งแกร่ง
  • เมทริกซ์สหสัมพันธ์คือเมทริกซ์ที่แสดงถึงความสัมพันธ์คู่ของตัวแปรทั้งหมด
  • ระดับนัยสำคัญมีประโยชน์ในบางสถานการณ์เมื่อเราใช้วิธีเพียร์สันหรือสเปียร์แมน

เราสามารถสรุปฟังก์ชัน Correlation ทั้งหมดใน R ไว้ในตารางด้านล่างนี้:

ห้องสมุด วัตถุประสงค์ วิธี รหัส
ฐาน สหสัมพันธ์แบบ bivariate เพียร์สัน
cor(dfx2, method = "pearson")
ฐาน สหสัมพันธ์แบบ bivariate พลหอก
cor(dfx2, method = "spearman")
ฐาน ความสัมพันธ์หลายตัวแปร เพียร์สัน
cor(df, method = "pearson")
ฐาน ความสัมพันธ์หลายตัวแปร พลหอก
cor(df, method = "spearman")
มช ค่า P
rcorr(as.matrix(data[,1:9]))[["P"]]
ขำ แผนที่ความร้อน
ggcorr(df)
แปลงหลายตัวแปร
cf code below