我想将一个数据帧(“inputfile”)分成两部分(A和B,其中B是(不是A))。现在,这似乎涉及不同的subset()
调用和两个dplyr
句子。R dplyr子集替代
这里是我现在,这是很好的,但需要两遍:
library(stringr)
data(mtcars)
mtcars$makemodel <-rownames(mtcars)
mtcars%>%subset(str_detect(makemodel, "Mazda")) -> A
mtcars%>%subset(!str_detect(makemodel, "Mazda")) -> B
dim(A)
dim(B)
有没有办法做到这一点:
inputfile%>% split_data(condition, A, B)
因此,如果条件是真实的记录会流向数据帧A,如果条件为假,它会流向B?
您正在寻找'group_by',这使得分割变得不必要。在这种情况下,类似于'mtcars%>%add_rownames('car')%>%group_by(group = grepl('Mazda',car)'' – alistaire