IngForum http://www.ingegneri.info/forum/ |
|
Rstudio: problema creazione di matrice da dataframe http://www.ingegneri.info/forum/viewtopic.php?f=10&t=111419 |
Pagina 1 di 1 |
Autore: | martiki [ lunedì 20 aprile 2020, 16:31 ] |
Oggetto del messaggio: | Rstudio: problema creazione di matrice da dataframe |
Ciao a tutti, sono una novellina del linguaggio R. Scrivo perché ho un problema che non riesco proprio a risolvere: a partire da un dataframe di due colonne A, contenente i miei dati iniziali, dovrei creare un oggetto (non importa la natura, va bene che sia un vettore, una matrice nx1 o un dataframe a 1 colonna) contenente la somma degli elementi A che soddisfano una condizione specificata da me. tutto ciò mi servirà in seguito per effettuare delle statistiche. Vi riporto il mio semplice codice e il mio data frame iniziale A: i dbz 0.1 10 0.2 30 0.3 20 0.4 54 0.5 69 0.6 74 0.1 33 0.2 15 0.3 60 Codice: Codice: i<-c(0.1,0.2,0.3,0.4,0.5,0.6,0.1,0.2,0.3) dbz<-c(10,30,20,54,69,74,33,15,60) A<-data.frame(i,dbz) classi<-seq(from=min(A$i), to=max(A$i), by=0.1) #classi va da 0.1 a 0.6 M<-matrix(nrow=length(classi),ncol=1) a<-seq(0.1,0.6,0.1) m<-1 #conto quanti elementi uguali al valore j ci sono nella prima colonna di A for (j in a) {M[m,1]<-length(A$i[A$i==j]) m<-m+1 } M risulta così [,1] [1,] 2 [2,] 2 [3,] 0 [4,] 1 [5,] 1 [6,] 1 Come vedete il problema di presenta quando j=0.3, perché invece di restituirmi “2” sembra non riconoscere i valori pari a questo numero appartenenti alla prima colonna di A, restituendomi quindi 0. Gli altri valori invece sono tutti giusti! Se invece nella console e fuori dal ciclo digito A$i[A$i==”0.3″] mi restituisce 2 senza problemi. Infine, se il ciclo for lo faccio girare per valori di j che vanno da 0.1 a 0.3 la matrice M (fino al valore in posizione 3) viene corretta! Qualcuno può aiutarmi? ![]() |
Pagina 1 di 1 | Tutti gli orari sono UTC + 1 ora [ ora legale ] |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |