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...