J'ai un vecteur de chaînes.
d <- c("Mon","Tues","Wednes","Thurs","Fri","Satur","Sun")
pour lequel je veux coller la chaîne "jour" sur chaque élément du vecteur d'une manière similaire à celle-ci.
week <- apply(d, "day", paste, sep='')
Pas besoin de apply()
, utilisez simplement paste()
:
R> d <- c("Mon","Tues","Wednes","Thurs","Fri","Satur","Sun")
R> week <- paste(d, "day", sep="")
R> week
[1] "Monday" "Tuesday" "Wednesday" "Thursday"
[4] "Friday" "Saturday" "Sunday"
R>
D'autres ont déjà indiqué que puisque paste
est vectorisé, il n'est pas nécessaire d'utiliser apply
dans ce cas.
Cependant, pour répondre à votre question: apply
est utilisé pour un tableau ou data.frame. Lorsque vous souhaitez appliquer une fonction sur une liste (ou un vecteur), utilisez lapply
ou sapply
(une variante de lapply
qui simplifie le résultats):
sapply(d, paste, "day", sep="")
Mon Tues Wednes Thurs Fri Satur
"Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"
Sun
"Sunday"