重複の可能性:
数値シーケンスを含むベクトルを生成する方法は?
Rでは、1から100までの数字のリストを取得するにはどうすればよいですか? 他の言語には、これを行う関数 'range' があります。R の範囲は、まったく別のことを行います。
> range(1,100)
[1] 1 100
重複の可能性:
数値シーケンスを含むベクトルを生成する方法は?
Rでは、1から100までの数字のリストを取得するにはどうすればよいですか? 他の言語には、これを行う関数 'range' があります。R の範囲は、まったく別のことを行います。
> range(1,100)
[1] 1 100
あなたの間違いは を探している ですrange
。これによりrange
、ベクトルの が得られます。たとえば、
range(c(10, -5, 100))
与える
-5 100
代わりに、:
シーケンスを与える演算子を見てください (ステップ サイズは 1 です)。
1:100
または、seq
関数を使用してもう少し制御することもできます。例えば、
##Step size of 2
seq(1, 100, by=2)
また
##length.out: desired length of the sequence
seq(1, 100, length.out=5)
簡単な例を試すための構造が必要な場合は、: 演算子を使用します。
ただし、ベクトル/範囲の数値を動的に作成する場合は、代わりに seq() を使用してください。
a:b を使用して a から b までの数値のベクトル/範囲を作成していて、それが増加する系列であると予想しているとします。次に、b が a より小さいと評価された場合、減少シーケンスが得られますが、それについて通知されることはなく、プログラムは間違った種類の入力で実行され続けます。
この場合、seq() を使用すると、by引数の符号をシーケンスの方向と一致するように設定できます。一致しない場合はエラーが発生します。例えば、
seq(a, b, -1)
a=2、b=6 の場合はエラーが発生します。これは、コーダーが減少シーケンスを予期していたためです。