j'applique le code suivant :
Code : Tout sélectionner
id_quadra<-c("a","b","c","d","a","b","c","d","a","b","c","d","a")
n.passage<-c("1","1","1","1","2","2","2","2","3","3","3","3","4")
Vent<-c("0","NA","0","1","NA","0.3","0.2","NA","2","NA","2.1","1.8","0")
data<-as.data.frame(cbind(id_quadra,n.passage,Vent),dec=".",stringsAsFactors = FALSE)
data_vent<-xtabs(as.numeric(Vent)~as.factor(id_quadra)+as.factor(n.passage), data = data, addNA=TRUE)
data_vent
colnames(data_vent) <- c("vent_1", "vent_2", "vent_3")
id_quadra<-row.names(data_vent)
data_vent<-data.frame(cbind(id_quadra,data_vent))
data_vent
Je souhaiterais que les occurrences non spécifiées dans 'data' ne prennent pas la valeur de '0.0' lorsque la fonction xtabs() est appliquée, mais la valeur 'NA'. l'argument 'addNA=TRUE' fonctionne bien mais uniquement pour les occurrences existantes dans 'data'. Étant donnée que j'ai des vraies valeurs à '0.0' dans 'data' je ne peux pas les distinguer de celles générées par la fonction xtabs(). Je pourrais modifier mes valeurs de '0.0' avant le xtabs() puis les reconvertir ensuite pour entre temps transformer les '0.0' générés par xtabs() en 'NA' mais je suppose qu'il existe un moyen plus propre (je n'ai pas trouvé...) ?
Merci pour vos conseils.
Marco