1

私は非常に簡単で答えやすい質問を持っていると思いますが、自分で解決策を思いつくことはできません.

10 個の要素を持つ 1 つのベクトルがあり、最初の要素から 2 番目の要素を引いたもの、最初の要素から 3 番目の要素を引いたものなどで構成される新しいベクトルを取得したいと考えています。ただし、同じベクトルで、2 番目の要素から 3 番目の要素を引いた数字、2 番目の要素から 4 番目の要素を引いた数字など、および他の要素の数字も含めたいと思います。

私の意見では、これを行うには 2 つの for ループが必要ですが、次のスクリプトを実行すると要素が多すぎます。

for (w in 1:test1){  
  for (u in 1:test1) {
     print(mean[[u]] - mean[[w]])  }}

ここで print コマンドを使用しましたが、結果をベクトルに割り当てたいと考えています。

前もって感謝します!

4

1 に答える 1

3
ttt <- (1:5)^3
#[1]   1   8  27  64 125

result <- outer(ttt,ttt,"-")
#     [,1] [,2] [,3] [,4] [,5]
#[1,]    0   -7  -26  -63 -124
#[2,]    7    0  -19  -56 -117
#[3,]   26   19    0  -37  -98
#[4,]   63   56   37    0  -61
#[5,]  124  117   98   61    0

次に、必要な要素を選択します(質問からは完全にはわかりません)。

多分あなたはこれが欲しい:

t(result)[lower.tri(t(result))]
[1]   -7  -26  -63 -124  -19  -56 -117  -37  -98  -61
于 2013-02-07T14:38:10.090 に答える