57

重複の可能性:
数値シーケンスを含むベクトルを生成する方法は?

Rでは、1から100までの数字のリストを取得するにはどうすればよいですか? 他の言語には、これを行う関数 'range' があります。R の範囲は、まったく別のことを行います。

> range(1,100)
[1]   1 100
4

2 に答える 2

129

あなたの間違いは を探している です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)
于 2012-07-12T14:45:39.503 に答える
3

簡単な例を試すための構造が必要な場合は、: 演算子を使用します。

ただし、ベクトル/範囲の数値を動的に作成する場合は、代わりに seq() を使用してください。

a:b を使用して a から b までの数値のベクトル/範囲を作成していて、それが増加する系列であると予想しているとします。次に、b が a より小さいと評価された場合、減少シーケンスが得られますが、それについて通知されることはなく、プログラムは間違った種類の入力で実行され続けます。

この場合、seq() を使用すると、by引数の符号をシーケンスの方向と一致するように設定できます。一致しない場合はエラーが発生します。例えば、

seq(a, b, -1)

a=2、b=6 の場合はエラーが発生します。これは、コーダーが減少シーケンスを予期していたためです。

于 2012-07-13T14:26:25.133 に答える