メロスは激怒した。必ず、集計係としての人生から逃れなければならないと決意した。

メロスには社内政治がわからぬ。メロスはデータマイナーの卵である。数学を学び、コ

ードをかきながら暮らしてきた。けれども、自由に対しては、人一倍に敏感であった。

 

 

 

Rで行列を使って累積を求める方法

Rでベクトルの累積和を出す際に
行列かけてできないかな
なんてことを考えてみました。

#もしもこんなベクトルがあったとしたら
x <- c(1:10)

#ベクトルの大きさを調べて、その大きさの正方行列を作成
n <- length(x)
A <- matrix(1,n,n)

#上三角行列を0にする
A[upper.tri(A)] <- 0

#Aはこんな行列
> A
      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
 [1,]    1    0    0    0    0    0    0    0    0     0
 [2,]    1    1    0    0    0    0    0    0    0     0
 [3,]    1    1    1    0    0    0    0    0    0     0
 [4,]    1    1    1    1    0    0    0    0    0     0
 [5,]    1    1    1    1    1    0    0    0    0     0
 [6,]    1    1    1    1    1    1    0    0    0     0
 [7,]    1    1    1    1    1    1    1    0    0     0
 [8,]    1    1    1    1    1    1    1    1    0     0
 [9,]    1    1    1    1    1    1    1    1    1     0
[10,]    1    1    1    1    1    1    1    1    1     1

#各成分までの累積を求める
y <- A %*% x

#結果はこんな
> y
      [,1]
 [1,]    1
 [2,]    3
 [3,]    6
 [4,]   10
 [5,]   15
 [6,]   21
 [7,]   28
 [8,]   36
 [9,]   45
[10,]   55