0

初歩的な質問: 申し訳ありません。RIxでは、2 つのインデックスを持つデータ構造を生成したいと考えていますij

for (i in 1:10){
  for (j in 1:20){
    x[i,j] <- c(i+j,j-i^2)
  }
}

つまり、 の各要素はx2 成分を持つベクトルです。x さらに、どのペアi,jが の最大値を与えるかを検索したいと思いj-i^2ます。これは、上記の double で実現する必要がありますfor。ヒントを教えてください。皆さんに感謝します。

4

1 に答える 1

1

でこれを実現できますouter。あなたの質問から、iandjを絶対値として考えているのか、それともある種のインデックスベクトルとして考えているのかは明らかではありません。私はそれらがベクトルのインデックスであると仮定していますx:

set.seed(1) 
x <- runif(20) 
matm <- outer( x[1:20] , (x[1:10])^2 , `-` )
matp <- outer( x[1:10] , x[1:20] , `+` )

head( cbind( i_plus_j = c(matm) , j_minus_i_sq = c(matp) ) )
#      i_plus_j j_minus_i_sq
#[1,] 0.1950138    0.5310173
#[2,] 0.3016290    0.6376326
#[3,] 0.5023585    0.8383620
#[4,] 0.8377129    1.1737165
#[5,] 0.1311871    0.4671906
#[6,] 0.8278948    1.1638983


which( matm == max( matm ) , arr.ind = TRUE  )
#     row col
#[1,]  18  10
于 2013-09-02T09:46:47.797 に答える