How to | 列のデータに対して計算を行う方法

データ内の列に対して,特に列が変数を表す場合には,計算を行う必要があることがよくある.関数によっては長方形配列が与えられるときに自動的に列のデータに操作するものもあるが,列に操作させるためにデータを操作する必要がある関数もある.

作業を行うデータを作成する(SeedRandomによって,予想通りの結果が確実に得られるようにする):

In[1]:=
Click for copyable input
Out[1]=

Wolfram言語は,他のリスト内でリストをグループ化することによってを特徴付ける.それぞれのリストはすべてdataの行列内の行として解釈される:

In[2]:=
Click for copyable input
Out[2]//MatrixForm=

Grid関数を使ってもを同じように表示することができるが,中カッコは付かない:

In[3]:=
Click for copyable input
Out[3]=

デフォルトで多くの関数は,リストの長方形リストが引数として与えられる場合には各列に対して操作を行う.

各列の平均を求める:

In[4]:=
Click for copyable input
Out[4]=

列の標準偏差を求める:

In[5]:=
Click for copyable input
Out[5]=

各列の中央値を求める:

In[6]:=
Click for copyable input
Out[6]=

また,個々の列を計算のために選択することもできる.以下では,の第1列が選択されている:

In[14]:=
Click for copyable input
Out[14]=
In[15]:=
Click for copyable input
Out[15]=
In[16]:=
Click for copyable input
Out[16]=
In[17]:=
Click for copyable input
Out[17]=

3列以上の行列について,行を別々のデータとしてプロットする:

In[7]:=
Click for copyable input
Out[7]=

を転置することによって列をプロットする:

In[8]:=
Click for copyable input
Out[8]=

ベクトルについて働きかける関数については,列に対して操作を行うために,関数を転置されたにマップする:

In[9]:=
Click for copyable input
Out[9]=

正規化された列を持つ行列を得るために,結果を転置する:

In[10]:=
Click for copyable input
Out[10]=

転置とマップは引数を平坦化する関数にも行うことができる:

In[11]:=
Click for copyable input
Out[11]=