私は今、この行列を得た、と私はmin
列を検索し、定義したいと思います:
y = (0,0,0,0,1,0)
(5列目が最小であるため)。
y
を取得するにはどうすればよいですか?
私は今、この行列を得た、と私はmin
列を検索し、定義したいと思います:
y = (0,0,0,0,1,0)
(5列目が最小であるため)。
y
を取得するにはどうすればよいですか?
この場合、私はあなたがwhich.min
を望んでいると信じています。
(sample.data <- matrix(rnorm(25), ncol = 5))
#> [,1] [,2] [,3] [,4] [,5]
#> [1,] 1.7131439 -0.8245361 1.7140092 -1.05113511 0.08437935
#> [2,] -0.3139393 -0.1054446 1.5360771 -0.28580350 0.98912223
#> [3,] 0.8386972 0.6956972 -0.5144028 0.59367973 1.10062439
#> [4,] 0.1302335 1.4313643 1.3059922 0.48052815 1.83240308
#> [5,] 0.3926283 -0.5196746 -1.2081396 0.02681044 0.73020269
(mins <- apply(sample.data, 1, which.min))
#> [1] 4 1 3 1 3
'which.min'は素晴らしく、すべてですが' apply' isn 't。代わりに 'max.col(-sample.data)'を試してみます –
ifelseステートメントを使用して行うことができます。
> #Generate DataFrame
> DF=data.frame(9.8,6,3.8,3.2,2.8,3)
X9.8 X6 X3.8 X3.2 X2.8 X3
1 9.8 6 3.8 3.2 2.8 3
> #Put 1 to the lowest number and 0 to the rest
> ifelse(DF==min(DF),1,0)
X9.8 X6 X3.8 X3.2 X2.8 X3
[1,] 0 0 0 0 1 0
ようこそStackOverflow!あなたが試したことを教えてください。また、私たちがあなたを助けてくれるように[再生可能な例を提供する](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)私たちはあなたの例を再現するためにコピーしてRに貼り付けることができます。あなたはRで最小値、または最小値のインデックスを見つける方法を探しましたか? '?which.min'を見てください。 –
あなたはそこに行列がないと思います。あなたは行列がどのように見えるかについていくつかの擬似コードを持っています...行列では、minで1を持つ0/1行列を得るために 'as.integer(m == min(m))'を実行できると思います。 – Frank
あなたのマトリックスには1つの行しかありませんか、それとも複数の行があるマトリックスですか?複数の行がある場合、yも同じサイズの疎な行列になりますか? – woodhead92