我在努力找到一种方法使用申请,只对特定行的“块”申请一个特定的功能。 举例来说,我有一个矩阵:应用功能,各行的子集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
而且我想用一个新的矩阵来结束,由第一个和最后两个值中的每一行的总和。像这样:
[,1] [,2]
[1,] 8 11
[2,] 14 18
[3,] 12 15
我已经试过这样的事情:
chunks<-c("1:2","3:4")
sumchunks<-function(x,chunks){
apply(x,1,
function(row){
for (i in chunks){
v<-sum(row[chunks[i]])
}})
}
不过,这并不在所有的工作。任何关于成功方式的建议? 谢谢。
@JoshuaDrake我想这是一个答案为与详细R代码里面的问题,但不能用于澄清的请求。其实,OP让问题变得非常清楚,没有必要进一步澄清。 –