Po użyciu data.table przez jakiś czas myślałem, że nadszedł czas, aby spróbować dplyr. To zabawne, ale nie byłem w stanie dowiedzieć się, jak uzyskać dostęp do - bieżącej zmiennej grupowej - zwracanie wielu wartości dla grupydplyr: aktualna zmienna grupy dostępu
Poniższy przykład pokazuje działa poprawnie z data.table. W jaki sposób można napisać to z dplyr
foo <- matrix(c(1, 2, 3, 4), ncol = 2)
dt <- data.table(a = c(1, 1, 2), b = c(4, 5, 6))
# data.table (expected)
dt[, .(c = foo[, a]), by = a]
a c
1: 1 1
2: 1 2
3: 2 3
4: 2 4
# dplyr (?)
dt %>%
group_by(a) %>%
summarize(c = foo[a])
Z 'summarize' , możesz nie być w stanie tego zrobić, możesz spróbować z 'do' – akrun
Brakuje przecinka w swoim 'foo [a]' ... W każdym razie, jak sugerował akrun, podsumowanie nie pasuje, ponieważ lubi zwracać jeden wiersz na grupę. Ani mutate, który lubi zwracać n() aka .N, więc musisz zhackować coś razem w świecie dplyr. – Frank
hm. dzięki. Wciąż nie ma sukcesu z: dt%>% group_by (a)%>% do (c = foo [, a]) Czy możesz pokazać mi fragment roboczy? –