Bonjour à tous,
Avant toute chose je tiens à préciser que je suis un débutant sur R (j'ai commencé à apprendre il y a une dizaine de jours en autodidacte) et que je compte l'utiliser que pour certaines tâches (essentiellement des boîtes à moustaches et des beanplot).
Je vais travailler avec beaucoup de données (3000 lignes et une centaine de colonnes) que j'exporte de Excel via la librairie xlsx. J'utilise également la librairie beanplot pour les graphiques.
read.xlsx2("donnees/test.xlsx",sheetIndex = 1,header=TRUE, colClasses="character")->Extraction
J'extrais ensuite les colonnes qui m'intéressent (ici ce sont des concentrations d'entrée et de sortie) avec la commande suivante :
Extraction$"nom de la colonne" -> mes
Malheureusement il y a de nombreux trous dans mes données représentés par des / ou des cases vides. Je n'ai pas trouvé encore de commandes pour les enlever automatiquement donc je le fais manuellement (pourtant j'ai essayé pas mal de solutions mais ce n'est pas la question) de cette façon :
Une fois trié, je regarde le nombre de "trous" et je les retire :
mes[569:2878,drop=TRUE] ->mes
Après je la transforme en vecteur numérique :
as.numeric(as.character(mes))-> mes
Je fais de même avec la concentration en sortie que j'ai appelé mes2.
Avec mes deux vecteurs mes et mes2 (qui sont les concentrations d'entrées et de sortie), j'arrive sans soucis à faire des boîtes à moustaches côte à côte pour les comparer.
Cependant, je souhaite réaliser un graphique en violon avec à gauche de la ligne centrale les concentrations d'entrée et à droite les concentrations de sortie.
Pour ceci j'utilise la commande suivante :
et là j'ai le message d'erreur suivant : les longueurs des variables diffèrent (trouvé pour 'mes2')
J'en ai conclu que c'est dû au fait que je n'ai pas le même nombre de données pour les deux (ce qui va m'embêter quand j'aurais réglé mon autre problème mais passons...) et j'ai voulu essayé en retirant le bon nombre de données dans l'un des deux vecteurs pour avoir le même nombre.
mes[24:2310, drop=TRUE]->mes
Maintenant que mes deux vecteurs ont le même nombre d'éléments, je retente de faire mon beanplot et j'obtiens l'erreur suivante :
bw.SJ(x, method = "dpi") : sample is too sparse to find TD
J'ai essayé de faire ce beanplot avec le log de mes deux vecteurs mais j'obtiens le même message. Le soucis, c'est que mon maitre de stage m'a demandé de faire ce genre de beanplot et je ne vois pas comment m'en sortir avec mes données...
Si jamais je n'ai pas été assez clair, je vous upload un fichier très très réduit avec juste deux colonnes avec les concentrations d'entrée et de sortie. test.xlsx
Je m'excuse si mon problème n'est pas clair mais je ne voyais pas comment expliquer plus simplement...
Je vous remercie de votre aide
Bonne journée.
Partager