na-per-col

R
datawrangling
na
string
Published

November 15, 2023

Aufgabe

Zählen Sie die Anzahl der fehlenden Werte pro Spalte im Datensatz penguins.

Zeigen Sie einen prägnanten Weg.

Hinweise:

data("penguins", package = "palmerpenguins")  # ggf. das Paket vorab installieren











Lösung

Important

Wie oft in einer Sprache, gibt es mehrere Wege, eine Sache auszudrücken. So auch in R. Im Folgenden sind mehrere Lösungen vorgeschlagen. Sie müssen nicht alle kennen. Es reicht, wenn Sie eine einzige kennen (es sei denn, Sie wollen ein Experte sein oder werden). Betrachten Sie es als eine Frage des Geschmacks: Das Menü ist vor Ihnen ausgebreitet, und Sie greifen zu dem, was Ihnen am meisten zusagt. \(\square\)

library(tidyverse)
library(easystats)
library(skimr)

Weg 1

penguins |> 
  purrr::map_int(~ sum(is.na(.)))
          species            island    bill_length_mm     bill_depth_mm 
                0                 0                 2                 2 
flipper_length_mm       body_mass_g               sex              year 
                2                 2                11                 0 

Weg 2

colSums(is.na(penguins))
          species            island    bill_length_mm     bill_depth_mm 
                0                 0                 2                 2 
flipper_length_mm       body_mass_g               sex              year 
                2                 2                11                 0 

Weg 3

describe_distribution(penguins)
Variable          |    Mean |     SD |     IQR |              Range | Skewness | Kurtosis |   n | n_Missing
-----------------------------------------------------------------------------------------------------------
bill_length_mm    |   43.92 |   5.46 |    9.30 |     [32.10, 59.60] |     0.05 |    -0.88 | 342 |         2
bill_depth_mm     |   17.15 |   1.97 |    3.12 |     [13.10, 21.50] |    -0.14 |    -0.91 | 342 |         2
flipper_length_mm |  200.92 |  14.06 |   23.25 |   [172.00, 231.00] |     0.35 |    -0.98 | 342 |         2
body_mass_g       | 4201.75 | 801.95 | 1206.25 | [2700.00, 6300.00] |     0.47 |    -0.72 | 342 |         2
year              | 2008.03 |   0.82 |    2.00 | [2007.00, 2009.00] |    -0.05 |    -1.50 | 344 |         0

Allerdings berücksichtigt describe_distribution nur metrische Spalten.

Weg 4

summary(penguins)
      species          island    bill_length_mm  bill_depth_mm  
 Adelie   :152   Biscoe   :168   Min.   :32.10   Min.   :13.10  
 Chinstrap: 68   Dream    :124   1st Qu.:39.23   1st Qu.:15.60  
 Gentoo   :124   Torgersen: 52   Median :44.45   Median :17.30  
                                 Mean   :43.92   Mean   :17.15  
                                 3rd Qu.:48.50   3rd Qu.:18.70  
                                 Max.   :59.60   Max.   :21.50  
                                 NA's   :2       NA's   :2      
 flipper_length_mm  body_mass_g       sex           year     
 Min.   :172.0     Min.   :2700   female:165   Min.   :2007  
 1st Qu.:190.0     1st Qu.:3550   male  :168   1st Qu.:2007  
 Median :197.0     Median :4050   NA's  : 11   Median :2008  
 Mean   :200.9     Mean   :4202                Mean   :2008  
 3rd Qu.:213.0     3rd Qu.:4750                3rd Qu.:2009  
 Max.   :231.0     Max.   :6300                Max.   :2009  
 NA's   :2         NA's   :2                                 

Weg 5

skim(penguins)
Data summary
Name penguins
Number of rows 344
Number of columns 8
_______________________
Column type frequency:
factor 3
numeric 5
________________________
Group variables None

Variable type: factor

skim_variable n_missing complete_rate ordered n_unique top_counts
species 0 1.00 FALSE 3 Ade: 152, Gen: 124, Chi: 68
island 0 1.00 FALSE 3 Bis: 168, Dre: 124, Tor: 52
sex 11 0.97 FALSE 2 mal: 168, fem: 165

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
bill_length_mm 2 0.99 43.92 5.46 32.1 39.23 44.45 48.5 59.6 ▃▇▇▆▁
bill_depth_mm 2 0.99 17.15 1.97 13.1 15.60 17.30 18.7 21.5 ▅▅▇▇▂
flipper_length_mm 2 0.99 200.92 14.06 172.0 190.00 197.00 213.0 231.0 ▂▇▃▅▂
body_mass_g 2 0.99 4201.75 801.95 2700.0 3550.00 4050.00 4750.0 6300.0 ▃▇▆▃▂
year 0 1.00 2008.03 0.82 2007.0 2007.00 2008.00 2009.0 2009.0 ▇▁▇▁▇

Categories:

  • R
  • wrangling
  • na
  • string