dplyr
фильтр не работает, когда у меня есть подмножество списка в значении проверки. Работает, когда я назначаю переменную. См. Код нижеФильтр R dplyr не работает правильно с мягко сложным фильтром
df1<-data.frame(x=1:26, y=letters, stringsAsFactors = F)
templist<-list(alpha=df1)
res<-df1 %>% filter(y %in% templist$alpha$y)
nrow(res)
[1] 0
tempLetters <- templist$alpha$y
res<-df1 %>% filter(y %in% tempLetters)
nrow(res)
[1] 26
Я думал, что раньше это работало. Пожалуйста помоги. Обратите внимание, что имена столбцов одинаковы для обоих (y) по дизайну.
Я обновил dplyr
, tidyr
, pipeR
до последних версий на лесоматериал только сейчас (4 января 2017)
Я думаю, что это может быть ошибка или имя столкновения, попробуйте с помощью 'filter (df1, y% in% templist $ alpha [[2]])' или даже 'filter (df1, y% in% templist $ alpha [["y"]]) ' – akrun
Вы уверены, что' filter() '- это функция, которую вы хотите? 'Select()' может быть более полезным, например 'select (df1 $ alpha, y)' или для списка 'select (templist $ alpha, y)' –
Andrew Я просто дал простой пример, чтобы выделить проблему. @akrun, вы правы. Проблема возникает при столкновении имен! – guna