假设我有一个这样的数据框:
df <- data.frame (id = c("a", "b", "a", "c", "e", "d", "e"), n=1:7)
和一个带有像这样的 id 的向量:
v <- c("a", "b")
如何选择与 v 中的 id 匹配的数据帧的行?我不能将 id 列用于行名,因为它们不是唯一的。当我尝试这样做时,我得到:
rownames(df) <- df[["id"]]
Error in `row.names<-.data.frame`(`*tmp*`, value = c(1L, 2L, 1L, 3L, 5L, :
duplicate 'row.names' are not allowed
In addition: Warning message:
non-unique values when setting 'row.names': ‘a’, ‘e’
最佳答案
用
df[df$id %in% v,]
关于r - 通过非唯一 id 选择数据帧的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2568840/