假设我有一个像这样的数据帧:
df <- data.frame (id = c("a", "b", "a", "c", "e", "d", "e"), n=1:7)和一个具有如下ids的向量:
v <- c("a", "b")如何选择数据帧中与v中的ids匹配的行?我不能将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’ 发布于 2010-04-03 04:00:56
这应该是您想要的结果:
ndx = which(df$id %in% v)
df[ndx,]发布于 2010-04-03 03:59:52
使用
df[df$id %in% v,]https://stackoverflow.com/questions/2568840
复制相似问题