×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
今までイマイチよくわからなかったデータの並べ替え
dat <- data.frame(a=factor(c("a1", "a1", "a1", "a1", "a1", "a2", "a2", "a2", "a2", "a2")), s=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), b1=c(3, 3, 1, 3, 5, 3, 5, 2, 4, 6), b2=c(4, 3, 4, 5, 7, 2, 6, 3, 6, 4), b3=c(6, 6, 6, 4, 8, 3, 2, 3, 6, 5), b4=c(5, 7, 8, 7, 9, 2, 3, 3, 4, 6))
# データフレームの中身
これをb1で並べ替える
class(dat$b1) # 型の確認。文字列では並べ替えできない
odr <- order(dat$b1) # odrというオブジェクトに、並べ替えの"行番号"が保存される
odr
[1] 3 8 1 2 4 6 9 5 7 10
dat2 <- dat[odr,] # odrに保存された行のデータを取り出す。3行目のデータ、8行目のデータ…という感じ
## 型を確認しておく。数値がfactorだったら数値になおす
x <- factor(1:10)
x
class(x)
y <- as.numeric(as.character(x)) # as.numeric(x)だとfactorのlevelが適用されてしまうので
class(y)
dat <- data.frame(a=factor(c("a1", "a1", "a1", "a1", "a1", "a2", "a2", "a2", "a2", "a2")), s=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), b1=c(3, 3, 1, 3, 5, 3, 5, 2, 4, 6), b2=c(4, 3, 4, 5, 7, 2, 6, 3, 6, 4), b3=c(6, 6, 6, 4, 8, 3, 2, 3, 6, 5), b4=c(5, 7, 8, 7, 9, 2, 3, 3, 4, 6))
# データフレームの中身
a | s | b1 | b2 | b3 | b4 |
a1 | 1 | 3 | 4 | 6 | 5 |
a1 | 2 | 3 | 3 | 6 | 7 |
a1 | 3 | 1 | 4 | 6 | 8 |
a1 | 4 | 3 | 5 | 4 | 7 |
a1 | 5 | 5 | 7 | 8 | 9 |
a2 | 6 | 3 | 2 | 3 | 2 |
a2 | 7 | 5 | 6 | 2 | 3 |
a2 | 8 | 2 | 3 | 3 | 3 |
a2 | 9 | 4 | 6 | 6 | 4 |
a2 | 10 | 6 | 4 | 5 | 6 |
これをb1で並べ替える
class(dat$b1) # 型の確認。文字列では並べ替えできない
odr <- order(dat$b1) # odrというオブジェクトに、並べ替えの"行番号"が保存される
odr
[1] 3 8 1 2 4 6 9 5 7 10
dat2 <- dat[odr,] # odrに保存された行のデータを取り出す。3行目のデータ、8行目のデータ…という感じ
## 型を確認しておく。数値がfactorだったら数値になおす
x <- factor(1:10)
x
class(x)
y <- as.numeric(as.character(x)) # as.numeric(x)だとfactorのlevelが適用されてしまうので
class(y)
PR
Comment
Trackback
Trackback URL
Comment form