PAGE TOP

index
列作成

項目 サンプル
整数の列を作りたい
OneCol
1
2
3
4
小数の列を作りたい
OneCol
1.1
2.2
3.3
4.4
文字列の列を作りたい
OneCol
a
b
c
d
接頭辞を持つ数値列を作りたい
A1
s1
s2
s3
s4
数値の書式を指定して文字列を作りたい
A1
s07
s08
s09
s10
列名を指定して列を作りたい
C1
1
2
3
4
同じ値を持つ列を作りたい
A1
1
1
1
1
昇順の列を作りたい
OneCol
2
4
6
8
降順の列を作りたい
OneCol
4
3
2
1
重複のある乱数の列を作りたい
A0
1
4
2
4
重複のない乱数の列を作りたい
OneCol
3
1
4
2
乱数関数(一様乱数, 正規分布)を使って列を作りたい
c1uniqc2norm
113.9208605844
39.76363699764
314.3432877203
413.8140440998
46.33724753458
21.5995723167
211.6040254912
215.5880821365
36.65230106599
112.0633122857
偶数番目を抜き出し、新たな列を作りたい
OneCol
2
4
6
8
10
周期性のある列を作りたい
C1
1
2
3
1
2
3
1
2
3

整数の列を作りたい

[結果]
OneCol
1
2
3
4
[VAPScript]
result = {1:4};
[別解]
result = {1,2,3,4};
[解説]
{x:y} で x から y までの連番の数列を作成します。
明示的に要素を指定する場合はカンマ(,)区切りで指定します。


小数の列を作りたい

[結果]
OneCol
1.1
2.2
3.3
4.4
[VAPScript]
result = {1.1,2.2,3.3,4.4};
[解説]
カンマ(,)区切りで要素を指定します。
小数値であることを示す為に、整数値でも小数点を付けてください。 例えば 2 であれば 2.0 として明記してください。


文字列の列を作りたいp

[結果]
OneCol
a
b
c
d
[VAPScript]
result = {"a","b","c","d"};
[解説]

カンマ区切りで要素を指定します。
文字列であることを示す為にダブルクォート(")で囲ってください。



接頭辞を持つ数値列を作りたい

[結果]
A1
s1
s2
s3
s4
[VAPScript]
result = paste("s", {1:4});
[解説]

paste()関数で、文字列"s"と数列{1:4}を結合します。



数値の書式を指定して文字列を作りたい

[結果]
A1
s07
s08
s09
s10
[VAPScript]
result = format_str("s%02d", {7:10});
[解説]
format_str()関数で、数列を 指定の書式(ここでは "s%02d"に)で整形して、返します。


列名を指定して列を作りたい

[結果]
C1
1
2
3
4
[VAPScript]
result("C1") = {1,2,3,4};
[解説]
左辺の変数に "(列名)" を指定することで、明示的に列名を持った列データを作成します。


同じ値を持つ列を作りたい

[結果]
A1
1
1
1
1
[VAPScript]
result = rep(1, 4);
[解説]
rep()関数で、指定値を繰り返すデータを作成します。


昇順の列を作りたい

[結果]
OneCol
2
4
6
8
[VAPScript]
start = 2;
end = 8;
step = 2;
result = {start:end:step};
[解説]
{start:end:step}で初期値start=2、終了値end=8、等差step=2の等差数列を作成します。


降順の列を作りたい

[結果]
OneCol
4
3
2
1
[VAPScript]
start = 4;
end = 1;
step = -1;
result = {start:end:step};
[解説]
{start:end:step}で初期値start=4、終了値end=1、等差step=-1の等差数列を作成します。


重複のある乱数の列を作りたい

[結果]
A0
1
4
2
4
[VAPScript]
N = 4;
vmin = 1;
vmax = 4;
result = runif(N,vmin,vmax+1);
[解説]
runif()は指定個数の乱数値を返す関数です。乱数値の範囲が[min max)なため、max側を+1 します。


重複のない乱数の列を作りたい

[結果]
OneCol
3
1
4
2
[VAPScript]
newCol = {1:4};
result = shuffle(newCol);
[解説]
予め{x:y}で数列を作成しておき、shuffle()関数で列の要素の入れ替えを行ないます。


乱数関数(一様乱数, 正規分布)を使って列を作りたい

[結果]
c1uniqc2norm
113.9208605844
39.76363699764
314.3432877203
413.8140440998
46.33724753458
21.5995723167
211.6040254912
215.5880821365
36.65230106599
112.0633122857
[VAPScript]
N = 10;
c1vmin = 1;
c1vmax = 4;
// 一様乱数
c1("c1uniq") = runif(N,c1vmin,c1vmax+1);

c2ave=10.0;
c2sigma=5.0;
// 正規分布
c2("c2norm") = rnorm(N,c2ave,c2sigma);

result=cbind(c1,c2);
[解説]
一様乱数は、関数 runif(個数, 最小値, 最大値未満)を用います。

正規分布は、関数 rnorm(個数, 平均値, 分散)を用います。


偶数番目を抜き出し、新たな列を作りたい

[結果]
OneCol
2
4
6
8
10
[VAPScript]
result = {2:10:2};
[別解]
c1 = {1:10};
result = sel(mod(c1,2)==0, c1);
[解説]
偶数列は、等差2の等差数列で作成できます。

別解として、mod()関数を用いて、2の余りが0になる値だけを取り出す方法もあります。


周期性のある列を作りたい

[結果]
C1
1
2
3
1
2
3
1
2
3
[VAPScript]
c1 = {1:3};
nloop = 3;
result("C1") = rep(c1,nloop);
[別解]
c1 = {1:9};
result("C1") = mod(c1-1,3)+1;
[解説]
周期性のある数列は、1周期分を rep() 関数で繰り返すことで作成できます。

関数で表現することができれば、別解のように表現することもできます。