Dataintegritet
När du utforskar en datamängd stöter du ibland på något som får dig att ifrågasätta hur datan samlades in. Variabeln num_char innehåller till exempel antalet tecken i e-postmeddelandet, i tusental, och kan därför ha decimalvärden – men den bör inte ha negativa värden.
Du kan formulera ett test för att kontrollera att variabeln beter sig som förväntat:
email$num_char < 0
Om du kör den här koden i konsolen får du en lång vektor med logiska värden som för varje observation i datamängden anger om villkoret är TRUE. Här verkar de första 1 000 värdena alla vara FALSE. För att bekräfta att alla observationer verkligen har icke-negativa värden för num_char kan du ta summan av vektorn:
sum(email$num_char < 0)
Det här är en praktisk genväg. När du utför aritmetik på logiska värden behandlar R TRUE som 1 och FALSE som 0. Eftersom summan över hela vektorn är noll vet du att varje observation fick värdet FALSE i testet. Det vill säga att kolumnen num_char beter sig som förväntat och bara innehåller icke-negativa värden.
Den här övningen är en del av kursen
Exploratory Data Analysis in R
Övningsinstruktioner
Titta närmare på variablerna image och attach. Du kan läsa om dem med ?email, men hjälpfilen är tvetydig: räknas bifogade bilder som bifogade filer i den här datamängden?
Designa ett enkelt test för att avgöra om bilder räknas som bifogade filer. Det innebär att du skapar ett logiskt villkor för att jämföra värdena i de två variablerna och sedan använder sum() för att utvärdera varje observation i datamängden. Kom ihåg att de logiska operatorerna är < för mindre än, <= för mindre än eller lika med, > för större än, >= för större än eller lika med och == för lika med.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Test if images count as attachments