[解決済み] order() 関数を理解する
質問
私は
order()
関数がどのように機能するかを理解しようとしています。 私は、それがインデックスの並べ替えを返し、それがソートされたとき、元のベクトルをソートするという印象を持っていました。
例えば
> a <- c(45,50,10,96)
> order(a)
[1] 3 1 2 4
私はこれが返されることを期待していました。
c(2, 3, 1, 4)
を返すと期待したのですが、ソートされたリストは 10 45 50 96 となります。
どなたかこの関数の戻り値を理解するのを手伝っていただけませんか?
どのように解決するのですか?
これは が説明しているようです。
<ブロッククオート
の定義は
order
は
a[order(a)]
が
は増加する順序です。これは、正しい順序が4番目の要素、2番目の要素、1番目の要素、3番目の要素である、あなたの例で動作します。
の順番が正しいのです。
を探していたかもしれませんが
rank
の順位を返す
要素
R> a <- c(4.1, 3.2, 6.1, 3.1)
R> order(a)
[1] 4 2 1 3
R> rank(a)
[1] 3 2 4 1
だから
rank
は数字の順番を教えてくれます。
order
は昇順で取得する方法を示します。
plot(a, rank(a)/length(a))
はCDFのグラフを出します。 その理由を見るには
order
がなぜ便利なのかを見るには
plot(a, rank(a)/length(a),type="S")
を試すと,データが昇順でないため,混乱が生じます。
もしあなたが
oo<-order(a)
plot(a[oo],rank(a[oo])/length(a),type="S")
または単に
oo<-order(a)
plot(a[oo],(1:length(a))/length(a)),type="S")
とすると、CDFの折れ線グラフが得られます。
ランクを意識しているのでしょうね。
関連
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] グループ化関数(tapply、by、aggregate)と*applyファミリ
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] Rの代入演算子"="と"<-"の違いは何ですか?
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み] require()とlibrary()の違いは何ですか?
-
[解決済み] なぜ `[`] は `subset` よりも優れているのですか?
-
[解決済み] 文字列の自然並べ替えのための組み込み機能はありますか?
-
[解決済み] データフレーム内の列を名前でドロップする方法
-
[解決済み】data.table vs dplyr:一方がうまくできない、またはうまくできないことを行うことができますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
R 描画エラー plot.new() : 図形の余白が大きすぎる
-
8.2 カマグラ(No.31〜No.40)
-
ggplot2 からグリッドと背景色を削除する。
-
[解決済み] Rでcは何をするのですか?重複] [重複
-
[解決済み] ggplot 2.0.0でのポイントサイズ
-
[解決済み] データフレームのリストを行単位で1つのデータフレームに結合する
-
[解決済み] データフレーム内の列を名前でドロップする方法
-
[解決済み】ifelse()でDateオブジェクトがnumericオブジェクトにならないようにする方法
-
[解決済み】set.seed関数を使用する理由
-
[解決済み] セッションが作成されません。このバージョンのChromeDriverはChromeバージョンにしか対応していません ChromeDriver ChromeでSeleniumを使用した場合の74エラー