Hoặc theo hai bước
df1 <- df[df$weight > 120, ]
df2 <- df1[order(df1$height), ]
hoặc nếu bạn phải trong một bước - nhưng nó thực sự không phải là bất kỳ sạch.
dữ liệu đầu tiên:
R> set.seed(42)
R> df <- data.frame(weight=rnorm(10, 120, 10), height=rnorm(10, 160, 20))
R> df
weight height
1 133.7 186.1
2 114.4 205.7
3 123.6 132.2
4 126.3 154.4
5 124.0 157.3
6 118.9 172.7
7 135.1 154.3
8 119.1 106.9
9 140.2 111.2
10 119.4 186.4
Và một cách để làm việc đó là đôi Subsetting:
R> subset(df, weight > 120)[order(subset(df, weight > 120)$height),]
weight height
9 140.2 111.2
3 123.6 132.2
7 135.1 154.3
4 126.3 154.4
5 124.0 157.3
1 133.7 186.1
R>
Tôi muốn đi với hai bước.
Nguồn
2012-03-16 02:23:56
Chỉ vì tò mò, tại sao 'set.seed (42)'? – kohske
Tôi muốn sử dụng 'reshape2 :: sắp xếp (tập hợp con (df, weight> 120), height)' – baptiste
Tôi đã chờ đợi các Hadley-isms thích hợp :-) –