User:Sharp

From Opasnet
Revision as of 23:06, 20 August 2015 by Sharp (talk | contribs) (Lisätty työstettyä koodia. Ei kooditageissa, joten ei ajettavissa.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Koodi on tarkoituksella jätetty kooditagien ulkopuolelle, koska se on keskeneräinen. Antaa kyllä nättejä tuloksia esim:

> summary(kalaframe)

    kala           keskipitoisuus  
Length:16          Min.   :0.0350  
Class :character   1st Qu.:0.3175  
Mode  :character   Median :0.5058  
                   Mean   :0.5965  
                   3rd Qu.:0.7809  
                   Max.   :1.9400  

> summary(järviframe)

   järvi           keskipitoisuus  
Length:77          Min.   :0.0450  
Class :character   1st Qu.:0.2633  
Mode  :character   Median :0.4100  
                   Mean   :0.5736  
                   3rd Qu.:0.7400  
                   Max.   :2.2996  


data <- opbase.data(id="op_en4004.kerty_database")

  1. Otetaan mukaan vain yksilömittaukset

hdata <- data[data$Yksilöitä < 2,]

  1. Jätetään datasta pois sukupuolet, määrät ja muut tarpeettomat? sarakkeet

hdata <- hdata[c(1,2,7,8,9,10,11,15,16,17,20,21)]

  1. Eliminoidaan käyttökelvoton data

hdata <- hdata[hdata$Märkäpaino != 0,]

  1. Analysoidaan vain lihaskudosta

hdata <- hdata[hdata$Näyteosa == "lihas",]

  1. Analysoidaan vain elohopeaa

hdata <- hdata[hdata$Suure == "Elohopea",]

  1. Tutkitaan koodausvaiheessa pienempää otosta

otos <- hdata[1:2000,]

  1. Muutetaan tulossarake numeroiksi ja...

otos$Tulos <- as.numeric(levels(otos$Tulos))[otos$Tulos]

  1. poistetaan sieltä ei-numeeriset vastaukset

otos <- otos[!is.na(otos$Tulos),]

  1. Käsitellään tässä vaiheessa vasta järvet, tarkennetaan myöhemmin

otos <- otos[otos$Järvi != "",]

  1. Poistetaan otoksen faktoreista tarpeettomat levelit

for (column in 1:ncol(otos)){ if (is.factor(otos[,column])) { otos[,column] <- factor(otos[,column]) } }

  1. Luodaan vektorit kalojen nimiä ja keskipitoisuuksia varten

kala <- vector(length = length(levels(otos$Näytelaji))) keskipitoisuus <- vector(length = length(levels(otos$Näytelaji))) indeksi <- 0

  1. Silmukassa käydään laji kerrallaan kalat läpi ja otetaan niiden keskimääräinen elohopeapitoisuus talteen

for (laji in levels(otos$Näytelaji)) { indeksi <- indeksi + 1 temp <- otos[otos$Näytelaji == laji,] kala[indeksi] <- laji keskipitoisuus[indeksi] <- mean(temp$Tulos) }

  1. Luodaan vektoreista data.frame

kalaframe <- data.frame(kala, keskipitoisuus, stringsAsFactors = FALSE)


järvi <- vector(length = length(levels(otos$Järvi))) keskipitoisuus <- vector(length = length(levels(otos$Järvi))) indeksi <- 0

  1. Silmukassa käydään järvi kerrallaan järvet läpi ja otetaan niiden kalojen keskimääräinen elohopeapitoisuus talteen

for (vesistö in levels(otos$Järvi)) { indeksi <- indeksi + 1 temp <- otos[otos$Järvi == vesistö,] järvi[indeksi] <- vesistö keskipitoisuus[indeksi] <- mean(temp$Tulos) }

järviframe <- data.frame(järvi, keskipitoisuus, stringsAsFactors = FALSE)

summary(kalaframe) summary(järviframe)


Tästäpä jatkan aamusella.