วิธีสร้างตารางความถี่ของตัวแปรหลายตัวใน r


ในการคำนวณตารางความถี่สำหรับตัวแปรหลายตัวในกรอบข้อมูลใน R คุณสามารถใช้ฟังก์ชัน Apply() ซึ่งใช้ไวยากรณ์ต่อไปนี้:

ใช้ (X, FUN MARGIN)

ทอง:

  • X: อาร์เรย์ เมทริกซ์ หรือบล็อกข้อมูล
  • MARGIN: ใช้ฟังก์ชันกับแถว (1) หรือคอลัมน์ (2)
  • FUN: ฟังก์ชั่นที่จะใช้

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

ตัวอย่างที่ 1: ตารางความถี่ของตัวแปรทั้งหมดใน R

รหัสต่อไปนี้แสดงวิธีการคำนวณตารางความถี่สำหรับแต่ละตัวแปรในกรอบข้อมูล:

 #create data frame
df <- data. frame (var1=c(1, 1, 2, 2, 2, 2, 3),
                 var2=c('A', 'A', 'A', 'A', 'B', 'B', 'B'),
                 var3=c(6, 7, 7, 7, 8, 8, 9))

#view first few rows of data frame
head(df)

  var1 var2 var3
1 1 To 6
2 1 A 7
3 2 To 7
4 2 To 7
5 2 B 8
6 2 B 8

#calculate frequency table for every variable in data frame
apply((df), 2, table)

$var1

1 2 3 
2 4 1 

$var2

AB
4 3 

$var3

6 7 8 9 
1 3 2 1

ผลลัพธ์ที่ได้คือตารางความถี่สามตาราง – ตารางหนึ่งสำหรับแต่ละตัวแปรในกรอบข้อมูล

ต่อไปนี้เป็นวิธีการตีความตารางความถี่แรก:

  • ค่า 1 ปรากฏสองครั้งในคอลัมน์ “var1”
  • ค่า 2 ปรากฏ 4 ครั้งในคอลัมน์ “var2”
  • ค่า 3 ปรากฏ 1 ครั้งในคอลัมน์ “var3”

ตารางความถี่อื่นๆ สามารถตีความได้ในลักษณะเดียวกัน

ตัวอย่างที่ 2: ตารางความถี่สำหรับตัวแปรเฉพาะใน R

รหัสต่อไปนี้แสดงวิธีการคำนวณตารางความถี่สำหรับตัวแปรเฉพาะในกรอบข้อมูล

 #create data frame
df <- data. frame (var1=c(1, 1, 2, 2, 2, 2, 3),
                 var2=c('A', 'A', 'A', 'A', 'B', 'B', 'B'),
                 var3=c(6, 7, 7, 7, 8, 8, 9))

#calculate frequency table for var1 and var3 columns
apply((df[c(' var1 ', ' var3 ')]), 2, table)

$var1

1 2 3 
2 4 1

$var3

6 7 8 9 
1 3 2 1

ตัวอย่างที่ 3: ตารางความถี่สำหรับตัวแปรทั้งหมดใน R ยกเว้นตัวแปรเดียว

สมมติว่าเรามีคอลัมน์ดัชนีในกรอบข้อมูล และเราต้องการคำนวณตารางความถี่สำหรับตัวแปรแต่ละตัวในกรอบข้อมูล ยกเว้น คอลัมน์ดัชนี

รหัสต่อไปนี้แสดงวิธีการทำเช่นนี้:

 #create data frame
df <- data. frame (index=c(1, 2, 3, 4, 5, 6, 7),
                 var2=c('A', 'A', 'A', 'A', 'B', 'B', 'B'),
                 var3=c(6, 7, 7, 7, 8, 8, 9))

#calculate frequency table for all columns except index column
apply((df[-1]), 2, table)

$var2

AB
4 3 

$var3

6 7 8 9 
1 3 2 1

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

วิธีสร้างตารางแบบสองทางใน R
วิธีสร้างฮิสโตแกรมความถี่สัมพัทธ์ใน R

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

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