วิธีสร้างตารางแบบสองทางใน r (พร้อมตัวอย่าง)


ตารางสองทาง คือตารางประเภทหนึ่งที่แสดงความถี่ของตัวแปรประเภทสองตัว

ตัวอย่างเช่น ตารางสองทางต่อไปนี้แสดงผลการสำรวจที่ถามผู้คน 100 คนว่าพวกเขาชอบกีฬาประเภทใด: เบสบอล บาสเก็ตบอล หรือฟุตบอล

แถวแสดงเพศของผู้ตอบแบบสอบถาม และคอลัมน์ระบุกีฬาที่พวกเขาเลือก:

บทช่วยสอนนี้มีตัวอย่างหลายประการของการสร้างและการใช้อาร์เรย์แบบสองทิศทางใน R

ตัวอย่างที่ 1: สร้างตารางรายการคู่ตั้งแต่เริ่มต้น

รหัสต่อไปนี้แสดงวิธีการสร้างตารางรายการคู่ตั้งแต่เริ่มต้นโดยใช้ฟังก์ชัน as.table() :

 #create matrix
data <- matrix(c(13, 23, 15, 16, 20, 13), ncol= 3 )

#specify row and column names of matrix
rownames(data) <- c('Male', 'Female')
colnames(data) <- c('Baseball', 'Basketball', 'Football')

#convert matrix to table
data <- as. table (data)

#display table
data

       Baseball Basketball Soccer
Male 13 15 20
Female 23 16 13

ตัวอย่างที่ 2: สร้างตารางแบบสองทิศทางจากข้อมูล

รหัสต่อไปนี้แสดงวิธีการสร้างตารางแบบสองทิศทางจากกรอบข้อมูล:

 #create data frame
df <- data. frame (sport=c(' Base ', ' Base ', ' Bask ', ' Foot ', ' Foot '),
                 gender=c(' Male ', ' Female ', ' Male ', ' Male ', ' Female '))

#view data frame
df

#create two way table from data frame
data <- table(df$gender, df$sport)

#display two way table
data 

         Base Basketball
  Female 1 0 1
  Male 1 1 1

ตัวอย่างที่ 3: คำนวณผลรวมมาร์จิ้นของตารางรายการคู่

รหัสต่อไปนี้แสดงวิธีการคำนวณผลรวมมาร์จิ้นของตารางแบบสองทางโดยใช้ฟังก์ชัน margin.table() :

 #create matrix of data
data <- matrix(c(13, 15, 20, 23, 16, 13), ncol=3)
rownames(data) <- c(' Male ', ' Female ')
colnames(data) <- c(' Baseball ', ' Basketball ', ' Football ')

#find sum of genders
margin. table (data, margin=1)

  Male Female 
    49 51

#find sum of sports

margin. table (data, margin=2)

Baseball Basketball Soccer 
        28 43 29 

ตัวอย่างที่ 4: การแสดงภาพความถี่ของตารางแบบสองทิศทาง

วิธีหนึ่งในการแสดงภาพความถี่ในตารางแบบสองทางคือการสร้าง barplot :

 barplot(data, legend= True , beside= True , main=' Favorite Sport by Gender ') 

อีกวิธีหนึ่งในการแสดงภาพความถี่ในตารางแบบสองทางคือการสร้าง พล็อตแบบเรียงต่อกัน :

 mosaicplot(data, main=' Sports Preferences ', xlab=' Gender ', ylab=' Favorite Sport ')


คุณสามารถค้นหาบทช่วยสอน R เพิ่มเติมได้ใน หน้านี้

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

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