J'aimerai appliquer cette fonction:
Code : Tout sélectionner
library(rpart)
remplacement<-" "
f<-function(x){
if (is.data.frame(x)){
y<-length(x)
for(i in 1:y){
if(is.numeric(x[i])){
box<-boxplot(x[i])
error<-box$out
row_error<-which(x[i]%in%error)
x[i]<-replace(x[i],row_error,remplacement)
as.numeric(x[i])
}}}}
à tous mes objets, naïvement je pensais donc rajouter :
Code : Tout sélectionner
all<-ls()
f(all)
La dernière ligne ne marche pas et n'affiche pas de message d'erreur Par quoi pourrai je la remplacer?
De plus je n'arrive pas à faire en sorte que la boucle for prenne en compte la longueur de la colonne et non la longueur du data frame car
Code : Tout sélectionner
y<-length(x[i])
for(i in 1:y)
c'est un serpent qui se mord la queue...Donc si quelqu'un veut bien éclairer ma lanterne
Pour explication:
Je débute en programmation et je dois préparer un script permettant de générer des courbes à partir d'une base de données. Ces bases sont assez conséquentes mais avec de nombreuses erreurs de saisies. Dans la mesure ou les données sont nombreuses, naturellement homogènes et que les erreurs sont principalement l'ajout ou l'oubli d'un chiffre, je pensais utiliser la fonction précédente.
La solution alternative serai une fonction qui remplace les valeurs de longueur incorrecte mais cela implique de spécifier la longueur de chaque variable et donc de spécifier tous les objets. Cette solution ne nous intéresse pas vraiment car le but est de faire un script qui s'applique à tout sans spécifier les objets.
Tous les conseils sont les bienvenus,merci d'avance,
Yannick Ramage