使用%in%命令获取特定的数据顺序

时间:2016-04-20 14:22:15

标签: r subset

采用以下示例。我们生成一系列基于cx值的数据框。

在我们生成df4的第三个示例中,我希望data.frame的格式设置为与c==2对应的数据位于第一行。这样命令head(df4$A)返回[1] 2 1 4

# data to play with
set.seed(123)
A <- c(1:10)
B <- sample(5:9,10,replace = T)
df1 <- data.frame(A,B)

# the values of interest
t1 <- c(1,2,3,4)
# subset df1 based on t1
df2 <- subset(df1, df1$A %in% t1)
head(df2$A)

# again the values of interest
t2 <- c(2,3,4)
# subset df1 based on t2
df3 <- subset(df1, df1$A %in% t2)
head(df3$A)

# once again the values of interest
t3 <- c(2,1,4)
# subset df1 based on t2
df4 <- subset(df1, df1$A %in% t3)
head(df4$A)

2 个答案:

答案 0 :(得分:1)

您可以使用order():

> df4[order(t3) , ]
  A B
2 2 8
1 1 6
4 4 9

答案 1 :(得分:1)

@ 42-更快:)记录:

订购数据框

df4[order(t3),] 
#  A B
#2 2 8
#1 1 6
#4 4 9

订购载体

df4$A[order(t3)] 
#[1] 2 1 4