importée du fichier texte. De nombreuses colonnes numériques sont importées en tant que "chr". Je suppose que c'est parce qu'ils contiennent un "," au lieu d'un ".". Mon but est d'écrire une boucle qui passe par les noms des colonnes désirées, remplace "," par "." et convertit les colonnes en "num". exemple Little:
data <- data.frame("A1" =c("2,1","2,1","2,1"), "A2" =c("1,3","1,3","1,3"),
stringsAsFactors = F) %>% as.tibble() #example data
colname <- c("A1", "A2") #creating variable for loop
for(i in colname) {
nam <- paste0("data$", i)
assign(nam, as.numeric(gsub(",",".", eval(parse(text = paste0("data$",i))))))
}
au lieu d'écraser la colonne existante, R crée une nouvelle variable:
data$A1 # that's the existing column as part of the tibble
[1] "2,1" "2,1" "2,1"
`data$A1` # thats just a new variable. mind the little``
[1] 2.1 2.1 2.1
J'ai aussi essayé d'assigner (< -) les nouvelles valeurs numériques via eval, mais cela ne ne fonctionne pas non plus.
eval(parse(text = paste0("data$", i))) <- as.numeric(
gsub(",",".", eval(parse(text = paste0("data$",i)))))
Error: target of assignment expands to non-language object
Des suggestions sur la façon de transformer? J'ai le même problème avec d'autres colonnes que je veux agréger à une nouvelle variable. Cette variable devrait également faire partie de la structure existante. Je pourrais le faire à la main. Cela prendrait beaucoup de temps et produirait probablement beaucoup d'erreurs. Merci beaucoup! Sam