Q&A
Rを独学で学んでいる素人です。データフレームを特定の列について昇順に並び替えて表示させる際、要素の参照のさせかたで疑問があります。
例えば↓のような生徒の名簿をつくる状況です。
name <- c("たろう", "たけし", "はなこ") age <- c("10", "12", "11") students_df <- data.frame(name, age) #年齢順に並び替えたい by_age <- order(students_df$age) students_df[by_age,]
以下のような表が出力されます。
name | age | |
---|---|---|
1 | たろう | 10 |
2 | はなこ | 11 |
3 | たけし | 12 |
ここで、最後の行のstudents_df[]は、どうしてby_ageがageのことを指していると認識できるのでしょうか。
by_ageは1 3 2 という(たろう→はなこ→たけしの順で若いね、という意味の)数を格納していますが、これをstudents_dfにいきなり渡したところで、これがage行の順番を表すものだよということは自明ではないように思われます。
order()のドキュメントを見てもわからずここで質問させて頂きました。
ご回答頂けたら幸いです。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。