Используйте вектор в filter () с данными group_by () - PullRequest
0 голосов
/ 25 сентября 2018

Я хотел бы отфильтровать (подмножество) некоторые наблюдения из кадра данных (A).Тем не менее, я должен сгруппировать наблюдения в df, что я сделал с group_by.Это дает мне в общей сложности 6660 групп.Теперь я хотел бы выделить те наблюдения, которые соответствуют определенному диапазону в каждой группе.Поэтому я создал фрейм данных (B), который содержит нижнее и верхнее граничное условие.Как и группы, этот фрейм данных состоит из 6660 наблюдений.

NewDataFrame <-filter(A %>% group_by(a,b,c),which(d >= B$x && d <= B$y ))

A - исходный df, B содержит нижнее и верхнее граничное условие

Вариации кода с другими функциями, которые я пытался сделатьтоже не работает, за исключением того, что я использовал фиксированные значения вместо B $ x и B $ y.В противном случае я обычно получаю:

«длинная длина объекта не кратна короткой длине объекта»

К сожалению, я не нашел ничего в старых вопросах по этой теме.Я благодарен за любую помощь!

Здесь я попытался создать несколько тестовых данных.Я не создавал A $ b и A $ c, поскольку они являются только условиями группировки ...

    a<-c("A","A","A","A","A","A","A","A","B","B","B","B","B","B","B","B","C","C","C","C","C","C","C","C")
d<-rep(1:6,4)
A<-data.frame(a,d)

x<-c(3,5,1)
y<-c(6,6,3)
B<-data.frame(x,y)

a_new<-c("A","A","A","A","B","B","C","C","C")
d_new<-c(3,4,5,6,5,6,1,2,3)
NewDataFrame<-data.frame(a_new,d_new)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...