การค้นหาและแทนที่ค่าที่หายไป

การจัดการข้อมูลที่หายไปใน R

Nicholas Tierney

Statistician

หัวข้อที่จะครอบคลุม

  • วิธีค้นหาค่าที่หายไปที่ซ่อนอยู่
  • การแทนที่ป้ายกำกับค่าที่หายไปด้วย NA
  • การตรวจสอบสมมติฐานเกี่ยวกับค่าที่หายไป
การจัดการข้อมูลที่หายไปใน R

การค้นหาและแทนที่ค่าที่หายไป

  • อุดมคติ = NA
  • ค่าที่หายไปอาจถูกบันทึกอย่างไม่ถูกต้อง เช่น "missing", "Not Available", "N/A"
  • การสมมติว่าค่าที่หายไปถูกบันทึกเป็น NA อาจเป็นความผิดพลาดได้
การจัดการข้อมูลที่หายไปใน R

ทำความเข้าใจความยุ่งเหยิงของข้อมูล

score grade place
3 N/A -99
-99 E 97
4 missing 95
-99 na 92
7 n/a -98
10 missing
12 . 88
16 .
9 N/a 86

การจัดการข้อมูลที่หายไปใน R

การค้นหาค่าที่หายไป

miss_scan_count()

chaos %>% miss_scan_count(search = list("N/A"))
# A tibble: 3 x 2
  Variable     n
  <chr>    <int>
1 score        0
2 grade        1
3 place        0
การจัดการข้อมูลที่หายไปใน R

การค้นหาค่าที่หายไป

chaos %>%
  miss_scan_count(search = list("N/A",
                                "N/a"))
# A tibble: 3 x 2
  Variable     n
  <chr>    <int>
1 score        0
2 grade        2
3 place        0
การจัดการข้อมูลที่หายไปใน R

การแทนที่ค่าที่หายไป

chaos %>%
  replace_with_na(replace = list(grade = c("N/A", "N/a")))
# A tibble: 9 x 3
  score grade   place  
  <dbl> <chr>   <chr>  
1     3 NA      -99    
2   -99 E       97     
3     4 missing 95     
4   -99 na      92     
5     7 n/a     -98    
6    10 " "     missing
7    12 .       88     
8    16 ""      .      
9     9 NA      86
การจัดการข้อมูลที่หายไปใน R

"scoped variants" ของ replace_with_na

  • replace_with_na อาจซ้ำซ้อน:

    • ใช้กับตัวแปรและค่าหลายรายการ
    • กรณีซับซ้อน เช่น แทนที่ค่าที่น้อยกว่า -1 เฉพาะในคอลัมน์ character
  • replace_with_na_all() ใช้กับทุกตัวแปร

  • replace_with_na_at() ใช้กับตัวแปรที่เลือก
  • replace_with_na_if() ใช้กับตัวแปรที่ตรงเงื่อนไข (numeric, character)
การจัดการข้อมูลที่หายไปใน R

การใช้ scoped variants ของ replace_with_na

chaos %>%
  replace_with_na_all(condition = ~.x == -99)
# A tibble: 9 x 3
  score grade   place  
  <dbl> <chr>   <chr>  
1     3 N/A     NA     
2    NA E       97     
3     4 missing 95     
4    NA na      92     
5     7 n/a     -98    
6    10 " "     missing
7    12 .       88     
8    16 ""      .      
9     9 N/a     86
การจัดการข้อมูลที่หายไปใน R

การใช้ scoped variants ของ replace_with_na

chaos %>% 
  replace_with_na_all(condition = ~.x %in% c("N/A", "missing", "na"))
# A tibble: 9 x 3
  score grade place
  <dbl> <chr> <chr>
1     3 NA    -99  
2   -99 E     97   
3     4 NA    95   
4   -99 NA    92   
5     7 n/a   -98  
6    10 " "   NA   
7    12 .     88   
8    16 ""    .    
9     9 N/a   86
การจัดการข้อมูลที่หายไปใน R

มาฝึกกันเถอะ!

การจัดการข้อมูลที่หายไปใน R

Preparing Video For Download...