[R] Aggiungere colonne
Ciao a tutti, ho un problema quando cerco di aggiungere delle colonne a una matrice.
Ho una matrice con 1 colonna di nome risultato, se eseguo le seguenti righe
tutto funziona correttamente,cioè vengono aggiunte 3 colonne di nome a/b/c con tutti i valori 0.
Non riesco a capire perchè non mi fa eseguire invece il seguente codice:
Potete aiutarmi?
Ho una matrice con 1 colonna di nome risultato, se eseguo le seguenti righe
risultato<-cbind(risultato, a = 0) risultato<-cbind(risultato, b = 0) risultato<-cbind(risultato, c = 0)
tutto funziona correttamente,cioè vengono aggiunte 3 colonne di nome a/b/c con tutti i valori 0.
Non riesco a capire perchè non mi fa eseguire invece il seguente codice:
nomi<-c("a","b","c") for(i in 1:length(nomi)){ risultato<-cbind(risultato, nomi[i]=0) }
Potete aiutarmi?
Risposte
Scusami Sergio, ho capito che non si accettano le espressioni. Non ho ben capito invece il discorso sulle liste, come si potrebbe scrivere il codice con le liste?Ho provato ma non riesco...Mi interessa questo problema perchè devo aggiungere 20 colonne ed è brutto da leggere 20 righe consecutive di cbind.
Scusami ancora
Scusami ancora

Grazie sergio. Se dovessi aggiungere 3 colonne (di zeri) in una matrice già esistente, è giusto il mio codice?
Cioè il codice funziona, però mi chiedo se è il migliore. Se al posto di usare una list (list), avessi usato un vettore (c) sarebbe stato irrilevante?
mialista<-list("a","b","c") for(i in 1:length(mialista)){ dati<-cbind(dati, valore=0) colnames(dati)[ncol(dati)]<-mialista[i] }
Cioè il codice funziona, però mi chiedo se è il migliore. Se al posto di usare una list (list), avessi usato un vettore (c) sarebbe stato irrilevante?