特定の行の「チャンク」に対してのみ、applyを使用して特定の関数を適用する方法を見つけるのには苦労しています。例えば は、私が行列を有する:R内の各行のサブセットに関数を適用する
x <- matrix(c(5,12,4,3,2,8,10,7,9,1,11,6),nrow=3)
[,1] [,2] [,3] [,4]
[1,] 5 3 10 1
[2,] 12 2 7 11
[3,] 4 8 9 6
を私は新しいマトリックスで終わるしたい、各行の最初と最後の2つの値の和で構成される。これと同じように:
chunks<-c("1:2","3:4")
sumchunks<-function(x,chunks){
apply(x,1,
function(row){
for (i in chunks){
v<-sum(row[chunks[i]])
}})
}
をしかし、それは全く動作しません:
[,1] [,2]
[1,] 8 11
[2,] 14 18
[3,] 12 15
私はこのような何かを試してみました。成功した方法に関する提案はありますか? ありがとうございます。
@JoshuaDrake:ここ
はベクトル化変種です。実際にOPは疑問をはっきりさせている、追加の明確化の必要はない。 –