challenge データの整列

(x, y) の座標情報を以下の2種類の方法で整列する機能を実現してください。

  • (x, y) の辞書順(まず x で昇順に整列して、x が同じデータに対して y で昇順に整列する)
  • (0, 0) からの距離の昇順

データの表現方法はタプルなり構造体/オブジェクトなり各自で適当に選んで下さい。

Posted feedbacks - R

Rのカバレッジ上げときますね。

1
2
3
4
5
6
7
8
# データフレームを(x,y)として作成。
df <- data.frame(x=as.integer(runif(20)*10),y=as.integer(runif(20)*10));
# 辞書順?
tmp <- df[sort(df$y,index=T)$ix,];
tmp[sort(tmp$x,index=T)$ix,];

# 距離順
df[sort(df$x**2+df$y**2, index=T)$ix,]

「辞書順」の別解として、シンプルにorder()を使った2項目のソートではどうでしょう。

あと、個人的好みですが、自分ならこういう場合はsort.list()使っちゃいますね。

1
df[order(df$x, df$y),]

Index

Feed

Other

Link

Pathtraq

loading...