Anteprima
Vedrai una selezione di 20 pagine su 96
Anteprima di 20 pagg. su 96.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Anteprima di 20 pagg. su 96.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Anteprima di 20 pagg. su 96.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Anteprima di 20 pagg. su 96.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Anteprima di 20 pagg. su 96.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Anteprima di 20 pagg. su 96.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Anteprima di 20 pagg. su 96.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Anteprima di 20 pagg. su 96.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Anteprima di 20 pagg. su 96.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Anteprima di 20 pagg. su 96.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Anteprima di 20 pagg. su 96.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Anteprima di 20 pagg. su 96.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Anteprima di 20 pagg. su 96.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Anteprima di 20 pagg. su 96.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Anteprima di 20 pagg. su 96.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Anteprima di 20 pagg. su 96.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Anteprima di 20 pagg. su 96.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Anteprima di 20 pagg. su 96.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Disdici quando
vuoi
vuoi
Acquista con carta
o PayPal
o PayPal
Scarica i documenti
tutte le volte che vuoi
tutte le volte che vuoi
Estratto del documento
Output del codice
D [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [1,] 0.00000 24.307406 37.039708 11.354735 33.400599 21.00000 35.851081 36.11343 12.734599 [2,] 24.30741 0.000000 13.465883 13.971399 9.108787 20.96783 24.438699 15.54381 12.404032 [3,] 37.03971 13.465883 0.000000 25.920841 6.842514 33.23883 31.498571 17.73697 25.796318 [4,] 11.35473 13.971399 25.920841 0.000000 22.983690 20.68744 31.916923 28.01732 6.912308 [5,] 33.40060 9.108787 6.842514 22.983690 0.000000 26.86336 24.768125 11.53516 21.227576 [6,] 21.00000 20.967833 33.238833 20.687436 26.863358 0.00000 15.877657 22.38616 13.901439 [7,] 35.85108 24.438699 31.498571 31.916923 24.768125 15.87766 0.000000 14.44022 25.355276 [8,] 36.11343 15.543809 17.736967 28.017316 11.535164 22.38616 14.440222 0.00000 23.455703 [9,] 12.73460 12.404032 25.796318 6.912308 21.227576 13.90144 25.355276
23.45570 0.000000[10,] 43.28002 28.524551 32.355834 38.200131 26.227467 23.846178.036168 14.70306 32.038258[,10] [1,] 43.280018 [2,] 28.524551 [3,] 32.355834 [4,] 38.200131 [5,] 26.227467 [6,] 23.846174 [7,] 8.036168 [8,] 14.703061 [9,] 32.038258 [10,] 0.000000> #Notate che gli elementi sulla diagonale sono sempre 0.> ages<-c(69, 12, 25, 72, 9, 45)> nomi<-c("franco", "stefano","pio","tizio","marco","carlo")> p.df<-data.frame(nomi,età=ages)> p.dfnomi età 1 franco 69 2 stefano 12 3 pio 25 4 tizio 72 5 marco 9 6 carlo 45> #aggiungiamo le professioni di ciascuno, mettendo che chi ha 67 o piùanni è pensionato> #si può fare sia con i cicli for che senza. prima proviamo con i ciclifor:> #creare un vettore carattere con le attività/professioni> attività<-rep(NA, length(p.df$età))> attività[1] NA NA NA NA NA NA> for (i in
- length(p.df$età)){
- if(ages[i] >= 67){
- attività[i]<-"pensionato"
- }else if(ages[i]<=18){
- attività[i]<-"studente"
- }else{
- attività[i]<-"lavoratore"
- }
- }
- > attività[1] "pensionato" "studente" "lavoratore" "pensionato" "studente""lavoratore">
- p.df$attività<-attività>
- p.dfnomi età attività
- 1 franco 69 pensionato
- 2 stefano 12 studente
- 3 pio 25 lavoratore
- 4 tizio 72 pensionato
- 5 marco 9 studente
- 6 carlo 45 lavoratore>>
- #altro metodo>
- p.df$attività<-"lavoratore">
- p.dfnomi età attività
- 1 franco 69 lavoratore
- 2 stefano 12 lavoratore
- 3 pio 25 lavoratore
- 4 tizio 72 lavoratore
- 5 marco 9 lavoratore
- 6 carlo 45 lavoratore>
- p.df$attività[p.df$età>=67]<-"pensionato">
- p.dfnomi età attività
- 1 franco 69 pensionato
- 2 stefano 12 lavoratore
- 3 pio
25 lavoratore 4 tizio 72 pensionato 5 marco 9 lavoratore 6 carlo 45 lavoratore > p.df$attività[p.df$età<=18]<-"studente" > p.dfnomi età attività 1 franco 69 pensionato 2 stefano 12 studente 3 pio 25 lavoratore 4 tizio 72 pensionato 5 marco 9 studente 6 carlo 45 lavoratore > #utilizziamo i vettori logici invece dei cicli for > exp1.df<-read.table("dati/exp1.csv", h=t) Error in file(file, "rt") : cannot open the connection In addition: Warning message: In file(file, "rt") : cannot open file 'dati/exp1.csv': No such file or directory > exp1.df<-read.table("exp1.csv", h=t) Error in file(file, "rt") : cannot open the connection In addition: Warning message: In file(file, "rt") : cannot open file 'exp1.csv': No such file or directory 2022-11-15 10:04:19.226 R[61310:6078391] +[NSSavePanel _warmUp] obviated > exp1.df<-read.table("exp.1.csv", h=t) Error in
!header : invalid argument type> exp1.df<-read.table("dati/exp.1.csv", h=t)Error in file(file, "rt") : cannot open the connectionIn addition: Warning message:In file(file, "rt") :cannot open file 'dati/exp.1.csv': No such file or directory> exp1.df<-read.table("exp.1.csv", h=t)Error in !header : invalid argument type> getwd()[1] "/Users/annamaria/Desktop/R"> d.df<-read.table("exp.1.csv",header=T,sep=";",dec=",")> d.dfweight group1 4,17 Ctrl2 5,58 Ctrl3 5,18 Ctrl4 6,11 Ctrl5 4,5 Ctrl6 4,61 Ctrl7 5,17 Ctrl8 4,53 Ctrl9 5,33 Ctrl10 5,14 Ctrl11 4,81 Trt112 4,17 Trt113 4,41 Trt114 3,59 Trt115 5,87 Trt116 3,83 Trt117 6,03 Trt118 4,89 Trt119 - Trt120 - Trt121 6,31 Trt222 5,12 Trt223 5,54 Trt224 5,5 Trt225 5,37 Trt226 5,29 Trt227 4,92 Trt228 6,15 Trt229 5,8 Trt230 manca Trt2> d.df<-read.table("data/exp.1.csv",header=T,sep=";",dec=",")Error in file(file,
<code> "rt") : cannot open the connection In addition: Warning message:In file(file, "rt") :cannot open file 'data/exp.1.csv': No such file or directory > d.df weight group 1 4.17 Ctrl 2 5.58 Ctrl 3 5.18 Ctrl 4 6.11 Ctrl 5 4.5 Ctrl 6 4.61 Ctrl 7 5.17 Ctrl 8 4.53 Ctrl 9 5.33 Ctrl 10 5.14 Ctrl 11 4.81 Trt1 12 4.17 Trt1 13 4.41 Trt1 14 3.59 Trt1 15 5.87 Trt1 16 3.83 Trt1 17 6.03 Trt1 18 4.89 Trt1 19 NA Trt1 20 NA Trt1 21 6.31 Trt2 22 5.12 Trt2 23 5.54 Trt2 24 5.5 Trt2 25 5.37 Trt2 26 5.29 Trt2 27 4.92 Trt2 28 6.15 Trt2 29 5.8 Trt2 30 NA Trt2 > d.df<-read.table("exp1-2.csv",header=T,sep=";",dec=",") > d.df weight group 1 4.17 Ctrl 2 5.58 Ctrl 3 5.18 Ctrl 4 6.11 Ctrl 5 4.50 Ctrl 6 4.61 Ctrl 7 5.17 Ctrl 8 4.53 Ctrl 9 5.33 Ctrl 10 5.14 Ctrl 11 4.81 Trt1 12 4.17 Trt1 13 4.41 Trt1 14 3.59 Trt1 15 5.87 Trt1 16 3.83 Trt1 17 6.03 Trt1 18 4.89 Trt1 19 6.31 Trt2 20 5.12 Trt2 21 5.54 Trt2 22 5.50 Trt2 23 5.37 Trt2 24 5.29 Trt2 25 4.92 Trt2 26 6.15 Trt2 27 5.80 Trt2 28 NA Trt2 </code>
<trat>-unique(d.df$group)</trat> <trat[1]> "Ctrl" "Trt1" "Trt2" ""</trat[1]> <#unique toglie gli elementi duplicati> <d.df>-read.table("exp1-2.csv",header=T,sep=";",dec=",")</d.df> <d.dfweight group1 4.17 Ctrl2 5.58 Ctrl3 5.18 Ctrl4 6.11 Ctrl5 4.50 Ctrl6 4.61 Ctrl7 5.17 Ctrl8 4.53 Ctrl9 5.33 Ctrl10 5.14 Ctrl11 4.81 Trt112 4.17 Trt113 4.41 Trt114 3.59 Trt115 5.87 Trt116 3.83 Trt117 6.03 Trt118 4.89 Trt119 6.31 Trt220 5.12 Trt221 5.54 Trt222 5.50 Trt223 5.37 Trt224 5.29 Trt225 4.92 Trt226 6.15 Trt227 5.80 Trt228 NA> <trat[1]> "Ctrl" "Trt1" "Trt2" ""</trat[1]> <for(i in 1:length(trat))>+ print(mean(d.df$weight[d.df$group==trat[i]])+ )+ }[1] 5.032[1] 4.7[1] 5.555556[1] NA> <medie>-rep(NA, length(trat))</medie> <medie[1]> NA NA NA NA> <for(i in 1:length(trat))>+ medie[i]<-(mean(d.df$weight[d.df$group==trat[i]]))+ }> medie[1] 5.032000 4.700000 5.555556 NA> <names(medie)>-trat</names(medie)>
medieCtrl Trt1 Trt25.032000 4.700000 5.555556 NA>> #FUNZIONE TAPPLY> #i cicli (for e while) in R sono relativamente lenti.La funzionetapply si può usare per sostituire i cicli for (è più veloce edefficiente), prende 3 argomenti: il primo è un vettore numerico sulquale vogliamo effettuare i calcoli, il secondo è un vettore di fattori(o una variabile carattere) che dice su quali gruppi, ciclicamente,effettuare il calcolo, e il terzo argomento è una funzione che fa ilcalcolo che interessa>>> tapply(exp1.df$weight, exp1.df$group, mean)Error in tapply(exp1.df$weight, exp1.df$group, mean) :object 'exp1.df' not found>> tapply(d.df$weight, exp1.df$group, mean)Error in tapply(d.df$weight, exp1.df$group, mean) :object 'exp1.df' not found> tapply(d.df$weight, d.df$group, mean)Ctrl Trt1 Trt2NA 5.032000 4.700000 5.555556> #ha calcolato con un solo comando la media del vettore weight, divisoper ogni
gruppo> medie<-tapply(d.df$weight, d.df$group, mean)> medie Ctrl Trt1 Trt2NA 5.032000 4.700000 5.555556> medie<-tapply(d.df$weight, d.df$group, var)> tapply(d.df$weight, d.df$group, var)Ctrl Trt1 Trt2NA 0.3399956 0.7914286 0.2105278> tapply(d.df$weight, d.df$group, sd)Ctrl Trt1 Trt2NA 0.5830914 0.8896227 0.4588331> tapply(d.df$weight, d.df$group, length)Ctrl Trt1 Trt21 10 8 9> data(ChickWeight)>>> d.df<-ChickWeight> summary(d.df)weight Time Chick DietMin. : 35.0 Min. : 0.00 13 : 12 1:2201st Qu.: 63.0 1st Qu.: 4.00 9 : 12 2:120Median :103.0 Median :10.00 20 : 12 3:120Mean :121.8 Mean :10.72 10 : 12 4:1183rd Qu.:163.8 3rd Qu.:16.00 17 : 12Max. :373.0 Max. :21.00 19 : 12(Other):506> #calcoliamo la media del peso per le 4 diete usando tapply>> tapply(d.df$weight, d.df$Diet, mean)1 2 3 4102.6455 122.6167 142.9500 135.2627> tapply(d.df$weight, d.df$Time, mean)0 2 4 6 8 10 1214 1641.06000 49.22000 59.95918 74.30612 91.24490 107.83673
129.24490143.81250 168.0851118 20 21190.19149 209.71739 218.68889> #calcolo la media del peso per giorno per dieta> tapply(d.df$weight, list(d.df$Time,d.df$Diet), mean) 1 2 3 4 0 41.40000 40.7 40.8 41.0000 2 47.25000 49.4 50.4 51.8000 4 56.47368 59.8 62.2 64.5000 6 66.78947 75.4 77.9 83.9000 8 79.68421 91.7 98.4 105.6000 10 93.05263 108.5 117.1 126.0000 12 108.52632 131.3 144.4 151.4000 14 123.38889 141.9 164.5 161.8000 16 144.64706 164.7 197.4 182.0000 18 158.94118 187.7 233.1 202.9000 20 170.41176
Dettagli
SSD
Scienze matematiche e informatiche
INF/01 Informatica
I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher annamariamannazzu di informazioni apprese con la frequenza delle lezioni di Informatica applicata alle biotecnologie e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Parma o del prof Marchettoni Leonardo.