Mettre du texte dans une cellule(s) vide d'un tableau?

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Jacques Bouet
Messages : 46
Enregistré le : 25 Fév 2016, 08:42

Mettre du texte dans une cellule(s) vide d'un tableau?

Messagepar Jacques Bouet » 21 Déc 2017, 08:12

Bonjour le Forum,
J'ai un tableau avec des cellules vides, et je voudrais mettre du texte.
J'ai essayé:

Code : Tout sélectionner

tableau$colonne[ligne] = "texte"
 tableau$colonne[ligne] = c("texte")
 tableau$colonne[ligne] = paste("texte") 

Mais rien ne fonctionne :(

Merci d'avance pour votre aide

Jonathan Costa
Messages : 12
Enregistré le : 27 Nov 2017, 16:15

Re: Mettre du texte dans une cellule(s) vide d'un tableau?

Messagepar Jonathan Costa » 21 Déc 2017, 08:34

Bonjour Jacques,

Essayez :

Code : Tout sélectionner

tableau$colonne[ligne,] <- "texte"

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: Mettre du texte dans une cellule(s) vide d'un tableau?

Messagepar Pierre-Yves Berrard » 21 Déc 2017, 08:45

Jacques Bouet a écrit :Mais rien ne fonctionne :(

La syntaxe étant correcte, mon intuition est que la variable "colonne" est un facteur ?
Y a-t-il un message d'erreur ?
PY

Jacques Bouet
Messages : 46
Enregistré le : 25 Fév 2016, 08:42

Re: Mettre du texte dans une cellule(s) vide d'un tableau?

Messagepar Jacques Bouet » 21 Déc 2017, 10:32

Merci pour cette réponse, mais cela ne fonctionne pas.
En fait j'ai plusieurs lignes.
C'est plutôt du genre:

Code : Tout sélectionner

A=c(12,25,36)
tableau$colonne[A] = "texte à insérer"

Avec ou sans c'est pareil.

Merci pour votre aide.

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: Mettre du texte dans une cellule(s) vide d'un tableau?

Messagepar Pierre-Yves Berrard » 21 Déc 2017, 10:42

Comme vous voulez modifier 3 lignes, il faut passer un vecteur contenant le même nombre de valeurs à droite.

Code : Tout sélectionner

tableau$colonne[c(12, 25, 36)] <- c("texte à insérer1", "texte à insérer2", "texte à insérer3")

Quoique avec le recyclage, une seule valeur devrait passer aussi...
Pierre-Yves Berrard a écrit :Y a-t-il un message d'erreur ?
PY

Gabriel Terraz
Messages : 591
Enregistré le : 26 Sep 2011, 15:11

Re: Mettre du texte dans une cellule(s) vide d'un tableau?

Messagepar Gabriel Terraz » 21 Déc 2017, 11:09

En toute logique, le vecteur est recyclé, ce n'est pas un problème de longueur :

Code : Tout sélectionner

df <- data.frame(a = letters[1:5], b = LETTERS[5:1], stringsAsFactors = F)
df
  a b
1 a E
2 b D
3 c C
4 d B
5 e A
summary(df)
      a                  b           
 Length:5           Length:5         
 Class :character   Class :character 
 Mode  :character   Mode  :character
df$a[c(1,2,5)] <- "texte"
df
      a b
1 texte E
2 texte D
3     c C
4     d B
5 texte A

Par contre, si c'est un facteur :

Code : Tout sélectionner

df <- data.frame(a = letters[1:5], b = LETTERS[5:1])
> summary(df)
 a     b   
 a:1   A:1 
 b:1   B:1 
 c:1   C:1 
 d:1   D:1 
 e:1   E:1 
> df$a[c(1,2,5)] <- "texte"
Warning message:
In `[<-.factor`(`*tmp*`, c(1, 2, 5), value = c(NA, NA, 3L, 4L, NA :
  invalid factor level, NA generated


Comme il est souvent répété sur le forum, sans plus d'informations, difficile d'aider...

Jacques Bouet
Messages : 46
Enregistré le : 25 Fév 2016, 08:42

Re: Mettre du texte dans une cellule(s) vide d'un tableau?

Messagepar Jacques Bouet » 21 Déc 2017, 17:11

Lorsque je fait

Code : Tout sélectionner

typeof(...)
cela me donne

Code : Tout sélectionner

"interger"
Mais dans cette colonne, il y a d'autre case avec du texte, qui sont aussi en

Code : Tout sélectionner

"integer"
Et là, je ne comprends plus...



Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité