Rpy2モジュールで提供されているように、PythonでRを使用します。 Rには、特定の列または行を抽出できる非常に便利な[]
操作があります。 Pythonスクリプトによってこのような機能を実現するにはどうすればよいですか?
私の考えは、Rベクトルを作成し、それらの必要な要素をこのベクトルに追加して、最終ベクトルがRと同じになるようにすることです。seq()
を作成しましたが、最初の桁は1最終結果は常に数字の1から始まりますが、これは私が望むものではありません。だから、これを行うより良い方法はありますか?
vec <- vector()
ベクターヘルプもご覧ください
?vector
ベクトルを事前に割り当てます
> (a <- rep(NA, 10))
[1] NA NA NA NA NA NA NA NA NA NA
その後、[]を使用して値を挿入できます。
次のように空のベクターを作成できます
vec <- numeric(0)
そして、c()を使用して要素を追加します
vec <- c(vec, 1:5)
ただし、romunovが言うように、ベクトルを事前に割り当ててからデータを追加する方がはるかに優れています(これにより、要素を追加するたびにベクトルの新しいコピーを再割り当てする必要がなくなるため)
空のベクターを作成するには:
vec <- c();
注意してください、私はあなたが必要とするベクトルのタイプについて、例えば、数値。
ベクトルが作成されたら、次のように要素を追加できます。
たとえば、数値1を追加するには:
vec <- c(vec, 1);
または、文字列値「a」を追加するには
vec <- c(vec, "a");
私も見ました
x <- {}
これで、任意の次元のベクトルをx
に連結またはバインドできます
rbind(x, 1:10)
cbind(x, 1:10)
c(x, 10)
Braniが指摘したように、vector()はソリューションです。
newVector <- vector(mode = "numeric", length = 50)
50個の「0」を初期値として持つ「newVector」という名前のベクトルを返します。また、既存のベクターに新しいスカラーを追加して、展開されたベクターに到達することもかなり一般的です。
aVector <- c(aVector, newScalar)