Có cách nào dễ dàng hơn để đảm bảo rằng các hàng của khung dữ liệu được sắp xếp theo vectơ "đích" như cách tôi thực hiện trong ví dụ ngắn dưới đây không?
df <- data.frame(name = letters[1:4], value = c(rep(TRUE, 2), rep(FALSE, 2)))
df
# name value
# 1 a TRUE
# 2 b TRUE
# 3 c FALSE
# 4 d FALSE
target <- c("b", "c", "a", "d")
Điều này bằng cách nào đó có vẻ hơi "phức tạp" để hoàn thành công việc:
idx <- sapply(target, function(x) {
which(df$name == x)
})
df <- df[idx,]
rownames(df) <- NULL
df
# name value
# 1 b TRUE
# 2 c FALSE
# 3 a TRUE
# 4 d FALSE