วิธีใช้ฟังก์ชัน all() และ any() ใน r (พร้อมตัวอย่าง)


ฟังก์ชัน all() และ any() ใน R สามารถใช้เพื่อตรวจสอบว่าค่าทั้งหมดหรือบางค่าในเวกเตอร์ประเมินค่าเป็น TRUE สำหรับนิพจน์หรือไม่

ฟังก์ชันเหล่านี้ใช้ไวยากรณ์ต่อไปนี้:

 #check if all values in x are less than 10
all(x < 10)

#check if any values in x are less than 10
any(x < 10)

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

ตัวอย่างที่ 1: ใช้ all() และ any() กับ Vector

เราสามารถใช้ฟังก์ชัน all() และ any() ต่อไปนี้เพื่อตรวจสอบว่าค่าบางส่วนหรือทั้งหมดในเวกเตอร์มีค่าน้อยกว่า 10:

 #define vector of data values
data <- c(3, 4, 4, 8, 12, 15)

#check if all values are less than 10
all(data < 10)

[1] FALSE

#check if any values are less than 10
any(data < 10)

[1] TRUE

ฟังก์ชัน all() ประเมินเป็น FALSE เนื่องจากค่าทั้งหมดในเวกเตอร์ไม่น้อยกว่า 10

ฟังก์ชัน any() ประเมินค่าเป็น TRUE เนื่องจากค่าอย่างน้อยหนึ่งค่าในเวกเตอร์มีค่าน้อยกว่า 10

ตัวอย่างที่ 2: ใช้ all() กับค่า NA

หากเราใช้ฟังก์ชัน all() กับเวกเตอร์ที่มีค่า NA เราจะสามารถรับ NA ได้ดังนี้:

 #define vector of data values with some NA values
data <- c(3, 4, 4, 8, NA, NA)

#check if all values are less than 10
all(data < 10)

[1] NA

เพื่อหลีกเลี่ยงปัญหานี้ เราจำเป็นต้องระบุ na.rm=TRUE เพื่อลบค่า NA ออกจากเวกเตอร์ก่อน ก่อนที่จะตรวจสอบว่าค่าทั้งหมดตรงตามเงื่อนไขหรือไม่:

 #define vector of data values with some NA values
data <- c(3, 4, 4, 8, NA, NA)

#check if all values are less than 10 (and ignore NA values)
all(data < 10, na. rm = TRUE )

[1] TRUE

ขณะนี้ฟังก์ชัน all() ประเมินค่าเป็น TRUE เนื่องจากแต่ละค่าในเวกเตอร์น้อยกว่า 10 โดยสมมติว่าเราละเว้นค่า NA

ตัวอย่างที่ 3: ใช้ all() และ any() กับคอลัมน์กรอบข้อมูล

นอกจากนี้เรายังสามารถใช้ฟังก์ชัน all() และ any() เพื่อประเมินนิพจน์ของคอลัมน์กรอบข้อมูล

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

 #define data frame
df <- data. frame (points=c(30, 22, 19, 20, 14, NA),
                 assists=c(7, 8, 13, 13, 10, 6),
                 rebounds=c(8, 12, NA, NA, 5, 8))

#view data frame
df

  points assists rebounds
1 30 7 8
2 22 8 12
3 19 13 NA
4 20 13 NA
5 14 10 5
6 NA 6 8

เราสามารถใช้ฟังก์ชัน all() และ any() เพื่อประเมินนิพจน์ต่างๆ สำหรับค่าในคอลัมน์ “bounces”:

 #check if all values are less than 10 in rebounds column
all(df$rebounds < 10, na. rm = TRUE )

[1] FALSE

#check if any values are less than 10 in rebounds column
any(df$rebounds < 10, na. rm = TRUE )

[1] TRUE

#check if there are any NA values in rebounds column
any(is. na (df$rebounds))

[1] TRUE

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

  • ค่าทั้งหมดไม่ต่ำกว่า 10 ในคอลัมน์ตีกลับ
  • อย่างน้อยหนึ่งค่าน้อยกว่า 10 ในคอลัมน์รีบาวด์
  • มีค่า NA อย่างน้อยหนึ่งค่าในคอลัมน์การรีบาวด์

ที่เกี่ยวข้อง: วิธีใช้ is.na ใน R (พร้อมตัวอย่าง)

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

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

วิธีเพิ่มคอลัมน์ใน data frame ใน R
วิธีเพิ่มคอลัมน์ว่างลงใน data frame ใน R
วิธีจัดเรียง data frame ตามคอลัมน์ใน R

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

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