[英]How to select rows from a data frame with replacement
我有一個定義如下的數據框:
t1 <- data.frame(x=c("A","B","C"),y=c(5,7,9))
> t1
x y
1 A 5
2 B 7
3 C 9
和精選向量:
picks <- c("B","C","B")
如何從數據框中按此順序獲取替換的這些行? 我想要:
x y
B 7
C 9
B 7
我試過了
> t1[t1$x %in% picks,]
x y
2 B 7
3 C 9
以及match,grep,哪些等其他幾種組合,並無法說明我想要的內容。 似乎應該很容易,但是我找不到路徑。
或者您可以使用data.table
執行右data.table
library(data.table)
picks <- data.table(x = picks)
setDT(t1)[picks, on = "x"]
# x y
#1: B 7
#2: C 9
#3: B 7
默認情況下,合並后的data.table根據x
在picks
排序。
我們也可以使用
setNames(t1$y, t1$x)[picks]
#B C B
#7 9 7
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.