A<-c(10,3,2,4)
B<-c(3,3,2,4,1,4,2,2,2,1)
C<-A[B]
C
> C
[1] 2 2 3 4 10 4 3 3 3 10
- というような操作があった
- ベクトルAがある。ベクトルは第i要素をある値に対応付けているので、1,2,...をa1,a2,...に対応づけるようなもの
- 1,2,...がこのベクトルの表す「関数」の定義域で、a1,a2,...が値域として
- このベクトルの表す「関数」の定義域を値域とする別のベクトルBがあって
- AとBとで表されるCがある…
- なぜか知らないけれど、ふっとわからない感じがした
- mapping として、ベクトルの代わりに関数を使うと、わかる感じが強い
- それは単なる個人の嗜好?
x<-seq(from=0,to=10,by=0.01)
y<-dchisq(x)
z<-y^2+sinh(y)
library(rgl)
plot3d(x,y,z)
f1<-function(x){
dchisq(x)
}
f2<-function(y){
y^2+sinh(y)
}
z<-f2(f1(x))
plot(x,z)
- ベクトルに関する「関数の合わせ技」を行列に拡張する
- Rでは行列がベクトル(に番地が振られたもの)だから、当然か
x<-1:4
xx<-expand.grid(x,x)
A<-matrix(1:length(xx[,1]),length(x),length(x))
B<-matrix(sample(1:4,10,replace=TRUE),ncol=2)
A[B]
A
B
A[B]
> A
[,1] [,2] [,3] [,4]
[1,] 1 5 9 13
[2,] 2 6 10 14
[3,] 3 7 11 15
[4,] 4 8 12 16
> B
[,1] [,2]
[1,] 3 1
[2,] 3 3
[3,] 3 1
[4,] 3 1
[5,] 2 4
> A[B]
[1] 3 11 3 3 14
k<-5
xxx<-expand.grid(rep(list(x),k))
A<-array(1:length(xxx),rep(length(x),k))
n<-6
B<-matrix(sample(1:4,k*n,replace=TRUE),ncol=k)
A[B]
- ここで、ベクトルの添え字を連続的パラメータに置き換えたりしているが、これは、朝永語録『ディラックの理論では、連続的な変域を持つパラメタqを添え字とするといった軸を用いることも可能なのです。(じつを言うとこのゆおな考え方を数学者はきらうのですが、物理学者にとってはたいへん便利な考え方なのです。)』(数学セミナー2012年6月号 時空と偶然第2回 からの孫引き)、に通じる話、か。