Я хотел бы отфильтровать (подмножество) некоторые наблюдения из кадра данных (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)