Obecnie buduję pakiet i zastanawiałem się, czy istnieje sposób na wywołanie operatora %>%
z dplyr bez faktycznego dołączania pakietu dplyr. Na przykład przy każdej funkcji wyeksportowanej z pakietu można wywołać ją dwukrotnym dwukropkiem (::
). Więc jeśli chcę użyć funkcji group_by
bez dołączania dplyr, wpiszę dplyr::group_by
. Czy jest coś podobnego dla operatorów?Używanie operatora%>% z dplyr bez ładowania dplyr w R
Odpowiedz
Możesz odwoływać się do dowolnego obiektu o niestandardowej nazwie, umieszczając go w tylnych odsłonach. Oznacza to, że można to zrobić:
`%>%` <- magrittr::`%>%`
ten określi operator %>%
w bieżącym środowisku. Na przykład:
iris %>% head
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
Dziękuję bardzo Andrie! –
Najprostszym sposobem jest załadowanie pakietu magrittr
, który wykonuje tylko orurowanie i jest oryginalnym źródłem %>%
. Jeśli nie chcesz ładować żadnych pakietów, nadal możesz używać %>%
, ale nie w tak naprawdę użyteczny sposób (chyba że zdefiniujesz to w swoim środowisku, jak sugeruje Andrie). Używanie go z ::
pójdzie tak:
# standard use
mtcars %>% summary()
# :: use
magrittr::"%>%"(mtcars, summary())
Naprawdę tracić przewagę czytelności/nie gniazdowania z tej metody.
Odkąd mówisz, że budujesz pakiet, powinieneś umieścić magrittr
w imporcie, a nawet po prostu importować z nas i pobrać funkcję "%>%"
. See here, aby uzyskać więcej informacji.
Jeśli masz „dplyr” zainstalowany, ale nie załadowany można uzyskać wynik z:
dplyr::`%>%` # Note the backticks, although quotes work as well.
który wyświetla kod, ale na dole można zauważyć, że jego otoczenie jest rzeczywiście NAMESPACE "magrittera", który "dplyr" importuje. Jak donoszą dwaj kompetentni respondenci, istnieje kilka sposobów użycia go jako funkcji, chociaż nie można go wstawiać między argumentami lhs
i rhs
, chyba że utworzysz kopię lokalną, która ma flankujące "%" lub połączenie to z nawiasami funkcyjnymi. Parser R nie zezwoli na:
> mtcars dplyr::"%>%" summary()
Error: unexpected symbol in " mtcars dplyr"
- 1. Używanie filtra dplyr() w programowaniu
- 2. R dplyr - kategoryzuj zmienną numeryczną z mutatem
- 3. Funkcja head() w pakiecie R dplyr
- 4. Łączenie krzyżowe w dplyr w R
- 5. R: użyć min() w ciągu dplyr :: mutacji()
- 6. dplyr n_distinct z warunkiem
- 7. Zmiana zachowania statystyk :: opóźnienie podczas ładowania pakietu dplyr
- 8. Programowanie funkcyjne z dplyr
- 9. R: Standardowa ocena dla * _join (dplyr)
- 10. Dplyr or Magrittr - tolower?
- 11. poziomy czynnika filtr R wykorzystujące dplyr
- 12. Dplyr podsumowuje ekwiwalent w pandach
- 13. Issue loading „dplyr” czasami
- 14. Mutacja wielu/kolejnych kolumn (z dplyr lub podstawą R)
- 15. Używanie funkcji wielu kolumn w dplyr mutate_at zadzwoń pod numer
- 16. Podsumowanie obliczeń współczynnika z dplyr
- 17. Znajdź zduplikowane elementy z dplyr
- 18. różnica od pierwszego w grupie z dplyr
- 19. R - Paralelizacja uczenia się wielu modeli (z dplyr i purrr)
- 20. dplyr filtr na Data
- 21. użyj dplyr mutate() w programowaniu
- 22. Usuwanie NA w dplyr pipe
- 23. dplyr: Obsługa wielu wartości
- 24. grupa dplyr na wielu kolumnach
- 25. Jak wykonać równoległe wywoływania do() z dplyr
- 26. Odłączanie połączenia src_tbls w dplyr
- 27. String Manipulation/agrégation w dplyr
- 28. Negacja `!` W dplyr pipeline `%>%`
- 29. Co to jest odpowiednik dplyr plyr :: ldply (tapply) w R?
- 30. Opóźnienie/prowadzenie przez grupę w R i dplyr
Myślę, że funkcja '%>%' jest faktycznie importowana z 'pkg: magrittr'. Będziesz musiał zacytować lub cofnąć '%>%' –
Będziesz musiał użyć 'magrittr :: \'%>% \ '' – Andrie
Dzięki za pomoc! –