【发布时间】:2019-01-18 22:40:01
【问题描述】:
我想使用具有空白 ("") 和非空白字符串的向量来对行进行子集化,以便最终得到类似于 dfgoal 的结果。
我已尝试使用 dplyr::select(),但收到错误消息 (Error: Strings must match column names. Unknown columns: tooth, , head, foot)。
我意识到我有一个问题,我想保留一些“”并摆脱其他的,但我不知道如何解决它。
感谢您的帮助!
# Data
df <- data.frame(avar=c("tooth","","","head","","foot","",""),bvar=c(1:8))
# Vector
veca <- c("tooth","foot")
vecb <- c("")
vecc <- as.vector(rbind(veca,vecb))
vecc <- unique(vecc)
# Attempt
library(dplyr)
df <- df %>% dplyr::select(vecc)
# Goal
dfgoal <- data.frame(avar=c("tooth","","","foot","",""),bvar=c(1,2,3,6,7,8))
【问题讨论】:
-
也许您希望
dplyr::filter对行进行子集化并使用avar %in% c(...)- 比如df %>% filter(avar %in% vecc) -
.... 因为
select用于选择变量(即列)。