R-
Studio Kontrolltöö
Mitu
proovitükki on kogu andmestikus?
#Mitu
proovitükki on kogu andmestikus
puud2015=read.csv("puud2015.csv",sep=";",dec=",")
#Impordin andmed
puud2015$D=ifelse(puud2015$D2>0,(puud2015$D1+puud2015$D2)/2,puud2015$D1)
#Lisan tulba D
length (table(puud2015$PRT))
#
Vaatan mitu proovitükki on kogu andmestikus loetledes read
>
#Mitu proovitükki on kogu andmestikus
>
puud2015=read.csv("puud2015.csv",sep=";",dec=",")
#Impordin andmed
>
puud2015$D=ifelse(puud2015$D2>0,(puud2015$D1+puud2015$D2)/2,puud2015$D1)
#Lisan tulba D
>
length(table(puud2015$PRT)) #Vaatan mitu proovitükki on kogu
andmestikus loetledes read
[1]
229
VASTUS:
Kogu andmestikus on 229 proovitükki.
Mitu
puud on sinu proovitükil?
#Mitu
puud on sinu proovitükil?
PRT332=subset(puud2015,PRT=="332")
#Teen eraldi
andmestiku PRT332-st
length(table(PRT332$PUU))
#Loetlen puude arvu PRT-l
>
#Mitu
puud on sinu proovitükil?
>
PRT332=subset(puud2015,PRT=="332")
#Teen eraldi andmestiku PRT332-st
>
length(table(PRT332$PUU))
#Loetlen puude arvu PRT-l
[1]
121
VASTUS:
Minu proovitükil on 121 puud
Mitu
1. rinde puud on
puuliikide kaupa sinu proovitükil? Esita tabel vaid
proovitükil esinevate liikide kohta.
#Mitu
1. rinde puud on puuliikide kaupa proovitükil.
PUUD1=droplevels(subset(PRT332,RIN=="1"))
#Teen 1. rinde puude andmestiku, viskan välja mitte vajaliku ehk
nullid .
table(PUUD1$PL)
#Vaatan puid puuliikide kaupa
#Ühendan
saadud andmed ühte tabelisse
P1=with(PUUD1,tapply(D,PL,length))
P1
PRT332RIN=data.frame(PL=
names (P1),Rinne1=P1)
PRT332RIN
write.table(PRT332RIN,"clipboard",sep="\t",dec=",",row.names=
FALSE )
>
#Mitu 1. rinde puud on puuliikide kaupa proovitükil.
>
PUUD1=droplevels(subset(PRT332,RIN=="1")) #Teen 1. rinde
puude andmestiku, viskan välja mitte vajaliku ehk nullid.
>
table(PUUD1$PL) #Vaatan puid puuliikide kaupa
HB
KS
23
13
>
P1=with(PUUD1,tapply(D,PL,length))
>
P1
HB
KS
23
13
>
PRT332RIN=data.frame(PL=names(P1),Rinne1=P1)
>
PRT332RIN
PL
Rinne1
HB
HB 23
KS
KS 13
>
write.table(PRT332RIN,"clipboard",sep="\t",dec=",",row.names=FALSE)
VASTUS:
1. rinde puid proovitükil on 23 haava ja 13 kaske.
PLRinne1HB
23
KS
13
Mis
on mudelpuude enamuspuuliigi keskmine kõrgus sinu proovitükil?
#Mis
on mudelpuude enamuspuuliigi keskmine kõrgus(ühe komakohaga) sinu
proovitükil?
ELUS=droplevels(subset(PRT332,RIN%in%c("1","2","A","J","Y","E","H")))
#Teen eluspuude andmestiku, visates välja mitte vajaliku
MUDEL=droplevels(subset(ELUS,H>0))
#Teen mudelpuude andmestiku visates välja mitte vajaliku
table(MUDEL$PL)
#Vaatan enamuspuuliiki, milleks on
HAAB HB=subset(MUDEL,PL=="HB")
#Teen haavapuude kohta eraldi andmestiku
round (
mean (HB$H),1)
#Vaatan haava puude keskmist kõrgust ja ümradan ühe komakohani.
>
#Mis on mudelpuude enamuspuuliigi keskmine kõrgus(ühe komakohaga)
sinu proovitükil?
>
ELUS=droplevels(subset(PRT332,RIN%in%c("1","2","A","J","Y","E","H")))
#Teen eluspuude andmestiku, visates välja mitte vajaliku
>
MUDEL=droplevels(subset(ELUS,H>0)) #Teen mudelpuude andmestiku
visates välja mitte vajaliku
>
table(MUDEL$PL) #Vaatan enamuspuuliiki, milleks on HAAB
HB
KS KU
12 4 7
>
HB=subset(MUDEL,PL=="HB") #Teen haavapuude kohta eraldi
andmestiku
>
round(mean(HB$H),1) #Vaatan haava puude keskmist kõrgust ja ümradan
ühe komakohani.
[1]
33.4
VASTUS:
Minu proovitüki enamuspuuliigi ehk haava keskmine kõrgus on 33,4 m
Mitmel
proovitükil kogu andmestikus on mõõdetud sinu proovitüki keskmisest puust kõrgemaid sama liiki puid?
#Mitmel
proovitükil kogu andmestikus (puud2015) on mõõdetud sinu
proovitüki keskmisest puust kõrgemaid sama liiki puid?
H33.4=subset(puud2015,H>33.4&PL=="HB")
#Teen andmestiku algandmetest kus on välja toodud haavad, mis on
kõrgemad kui PRT332 enamuspuuliigi keskmine kõrgus.
length(table(H33.4$PRT))
#Vaatan proovitükkide arvu, kus on mõõdetud haavasid, mis on
kõrgemad kui 33.4
>
#Mitmel proovitükil kogu andmestikus (puud2015) on mõõdetud sinu
proovitüki keskmisest puust kõrgemaid sama liiki puid?
>
H33.4=subset(puud2015,H>33.4&PL=="HB") #Teen
andmestiku algandmetest kus on välja toodud haavad, mis on kõrgemad
kui PRT332 enamuspuuliigi keskmine kõrgus.
>
length(table(H33.4$PRT)) #Vaatan proovitükkide arvu, kus on mõõdetud
haavasid, mis on kõrgemad kui 33.4
[1]
32
VASTUS:
32 proovitükil on mõõdetud haava puid, mis on kõrgemad kui 33.4
meetrit
Mitu
elusat puud on sinu proovitükil?
#Mitu
elusat puud on sinu proovitükil?
nrow(ELUS)
#Vaatan ridade ehk puude arvu ELUS tabeli andmestikus
>
#Mitu elusat puud on sinu proovitükil?
>
nrow(ELUS) #Vaatan ridade ehk puude arvu ELUS tabeli andmestikus
[1]
95
VASTUS:
95 elusat puud on proovitükil
Tee
hajuvusdiagramm enda proovitüki puu kõrguse ja
diameetri kohta.
#Tee
hajuvusdiagramm enda proovitüki puu kõrguste ja diameetri kohta.
plot (H~D,data=MUDEL)
#Vaatan kõrguse diameetri üldist pilti mudel puude andmestiku
põhjal
DH332=subset(puud2015,PRT==332&RIN%in%c("1","2","J","A","E","Y")&H>0)
#Teen Kõrguse ja diameetri suhte põhjal andmestiku kaasates elusad
rinded prt-lt 332
plot(H~D,data=DH332)
#Vaatan üldpilti uuesti uue andmestiku põhjal
max(DH332$H)
#Vaatan max kõrgust
max(DH332$D)
#Vaatan max diameetrit, et
parameetrid paika panna
plot(NULL,xlim=c(0,50),ylim=c(0,40),xlab="
Diameeter (cm)",ylab="Kõrgus (m)",main="Proovitükk 332")
#
Panen paika parameetrit ja annan telje nimed ja
tiitli abline(h=seq(0,40,2.5),lty=3,col="gray")
#Lisan
horisontaalse abijooned
abline(v=seq(0,50,2.5),lty=3,col="gray")
#Lisan vertikaalse abijooned
unique (DH332$PL)
#Vaatan mis puud on andmestikus, et lisada puntkidele värvid
points (H~D,data=subset(DH332,PL=="KS"),pch=20,col="
cyan ")
points(H~D,data=subset(DH332,PL=="HB"),pch=20,col="
green ")
points(H~D,data=subset(DH332,PL=="KU"),pch=20,col="magenta")
legend("bottomright",c("
Kask ","Haab","
Kuusk "),
fill =c("cyan","green","magenta"))
#Teen legendi
>
#Tee hajuvusdiagramm enda proovitüki puu kõrguste ja diameetri
kohta.
>
plot(H~D,data=MUDEL) #Vaatan kõrguse diameetri üldist pilti mudel
puude andmestiku põhjal
>
DH332=subset(puud2015,PRT==332&RIN%in%c("1","2","J","A","E","Y")&H>0)
#Teen Kõrguse ja diameetri suhte põhjal andmestiku kaasates elusad
rinded prt-lt 332
>
plot(H~D,data=DH332) #Vaatan üldpilti uuesti uue andmestiku põhjal
>
max(DH332$H) #Vaatan max kõrgust
[1]
36.1
>
max(DH332$D) #Vaatan max diameetrit, et parameetrid paika panna
[1]
46.5
>
plot(NULL,xlim=c(0,50),ylim=c(0,40),xlab="Diameeter
(cm)",ylab="Kõrgus (m)",main="Proovitükk 332")
#Panen paika parameetrit ja annan telje nimed ja tiitli
>
abline(h=seq(0,40,2.5),lty=3,col="gray") #Lisan
horisontaalse abijooned
>
abline(v=seq(0,50,2.5),lty=3,col="gray") #Lisan vertikaalse
abijooned
>
unique(DH332$PL) #Vaatan mis puud on andmestikus, et lisada
puntkidele värvid
[1]
KS HB KU
Levels: HB JA KS KU LH LM LV MA NU PA PI PN RE SA SP TA TM TU VA
>
points(H~D,data=subset(DH332,PL=="KS"),pch=20,col="cyan")
>
points(H~D,data=subset(DH332,PL=="HB"),pch=20,col="green")
>
points(H~D,data=subset(DH332,PL=="KU"),pch=20,col="magenta")
>
legend("bottomright",c("Kask","Haab","Kuusk"),fill=c("cyan","green","magenta"))
#Teen legendi
VASTUS:
Tee
puude omavahelisest kaugusest joonis Hynyneni funktsiooniga.
#Tee
puude omavahelisest kaugusest joonis Hynyneni funktsiooniga
#
Kirjutan ümber valemi
#L=10000/(exp(c1+c2)*log(D))^(1/2)
#Mänd
c1=12.669;c2=-1.844
#Valem,
diameeter, kõrgus, paksus,värv,
tiitlid ja pealkiri
curve(10000/(exp(c1+c2*log10(x)))^(1/2),from=5,to=60,ylim=c(20,120),lwd=1,type="p",col="orange",xlab="Diameeter
(cm)",ylab="Puudevaheline kaugus (cm)",main="Puude
omavaheline kaugus")
#Kuusk
c1=11.414;c2=-1.301
curve(10000/(exp(c1+c2*log10(x)))^(1/2),from=5,to=60,lwd=1,col="magenta",type="p",add=T)
#Kask
c1=13.891;c2=-2.331
curve(10000/(exp(c1+c2*log10(x)))^(1/2),from=5,to=60,lwd=1,col="cyan",type="p",add=T)
abline(h=seq(20,120,20),lty=3,col="gray")
#Lisan horisontaalse abijooned
abline(v=seq(5,60,5),lty=3,col="gray")
#Lisan vertikaalse abijooned
legend("bottomright",c("Mänd","Kuusk","Kask"),fill=c("orange","magenta","cyan"))
#lisame legendi
>
#Tee puude omavahelisest kaugusest joonis Hynyneni funktsiooniga
>
#Kirjutan ümber valemi
>
#L=10000/(exp(c1+c2)*log(D))^(1/2)
>
#Mänd
>
c1=12.669;c2=-1.844
>
#Valem, diameeter, kõrgus, paksus,värv, tiitlid ja pealkiri
>
curve(10000/(exp(c1+c2*log10(x)))^(1/2),from=5,to=60,ylim=c(20,120),lwd=1,type="p",col="orange",xlab="Diameeter
(cm)",ylab="Puudevaheline kaugus (cm)",main="Puude
omavaheline kaugus")
>
#Kuusk
>
c1=11.414;c2=-1.301
>
curve(10000/(exp(c1+c2*log10(x)))^(1/2),from=5,to=60,lwd=1,col="magenta",type="p",add=T)
>
#Kask
>
c1=13.891;c2=-2.331
>
curve(10000/(exp(c1+c2*log10(x)))^(1/2),from=5,to=60,lwd=1,col="cyan",type="p",add=T)
>
abline(h=seq(20,120,20),lty=3,col="gray") #Lisan
horisontaalse abijooned
>
abline(v=seq(5,60,5),lty=3,col="gray") #Lisan vertikaalse
abijooned
>
legend("bottomright",c("Mänd","Kuusk","Kask"),fill=c("orange","magenta","cyan"))
#lisame legendi
VASTUS:
Kõik kommentaarid