0

正方行列を掛けた単一行/複数列の行列があります。SAS は 1 行の結果を返します。これまでのところ、私が大学の数学から覚えていることと、人々に尋ねることから、わかりました.

しかし、それを行うSASの行は次のとおりです。

fieldA = matrix1`*matrix2[,1:fieldB]

"fieldA = matrix1`*matrix2" は理解できますが、[,1:fieldB] が何をするのかわかりません。また、それを説明するドキュメントが見つからないようです。

4

1 に答える 1

1

matrix2[,1:fieldB]はmatrix2をサブセット化しています。これには、matrix2 のすべての行と、リスト 1:fieldB に含まれる列のみが含まれます。おそらくfieldBはmatrix1の列数(転置すると行になる)を識別するため、*は機能します[matrix1'操作が有効になるには、行はmatrix2列と等しくなければなりません]。

たとえば、matrix1 が次の行列であるとします。

[1,3,5]

また、matrix2 は次の行列です。

[1,2,3,4,
 4,5,6,7,
 8,9,10,11,
 13,14,15,16]

今、

matrix1`*matrix2

は不正です - matrix1` には 3 つの行 (転置) があり、matrix2 には 4 つの列があります。そう:

matrix1`*matrix2[,1:3]

これで有効になり、matrix2 の最初の 3 列による matrix1` の行列積が生成されます。

于 2013-01-28T21:48:34.600 に答える