web-dev-qa-db-ja.com

Rのapplyを使用して文字列のベクトルの各要素に文字列を貼り付ける方法は?

文字列のベクトルがあります。

d <- c("Mon","Tues","Wednes","Thurs","Fri","Satur","Sun")

これに似た方法で、ベクトルの各要素に文字列「day」を貼り付けます。

week <- apply(d, "day", paste, sep='')
50
pedrosaurio

apply()は必要ありません。単に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> 
83

他の人はすでにpasteがベクトル化されているため、この場合applyを使用する必要がないことを示しています。

ただし、あなたの質問に答えるために:applyは配列またはdata.frameに使用されます。リスト(またはベクトル)に関数を適用する場合は、lapplyまたはsapplylapplyの変形簡略化結果):

sapply(d, paste, "day", sep="")
        Mon        Tues      Wednes       Thurs         Fri       Satur 
   "Monday"   "Tuesday" "Wednesday"  "Thursday"    "Friday"  "Saturday" 
        Sun 
   "Sunday" 
11
Andrie