簡體   English   中英

如何從數據框中選擇替換行

[英]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根據xpicks排序。

我們也可以使用

setNames(t1$y, t1$x)[picks]
#B C B 
#7 9 7 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM