Próbuję odtworzyć jeden z przykładów w pakiecie dplyr, ale pojawia się ten komunikat o błędzie. Spodziewam się, że nowa kolumna n będzie tworzona z częstotliwością każdej kombinacji. czego mi brakuje? Trzykrotnie sprawdziłem, czy pakiet jest załadowany.
library(dplyr)
# summarise peels off a single layer of grouping
by_vs_am <- group_by(mtcars, vs, am)
by_vs <- summarise(by_vs_am, n = n())
Błąd w n (): tej funkcji nie należy wywoływać bezpośrednio
plyr
summarize
z pakietem czegoś takiegodplyr::summarize(count = n())
.Jak wspomniano w poprzedniej odpowiedzi, możesz mieć konflikt między plyr i dplyr. Możesz uruchomić to polecenie, aby zwolnić pakiet plyr.
Następnie możesz kontynuować zgodnie z oczekiwaniami.
źródło
plyr
idplyr
paczki w jednym z moich projektów i zdałem sobie sprawę z tego konfliktu. miły kolega z pracy.Aby uniknąć nieporozumień z funkcjami maskującymi, jasne jest użycie specyfikacji „package :: function”, jak w przykładzie poniżej:
źródło
W innym przypadku ten błąd wystąpił w następującym kodzie.
Można to rozwiązać w następujący sposób.
źródło
Napotkano podobny problem podczas wykonywania kodu zgodnie ze wspomnianym blogiem, a następnie uruchomiono rozwiązanie w detach ("package: plyr", unload = TRUE)
Blog: https://www.analyticsvidhya.com/blog/2017/09/comparative-stock-analysis/
Odłączanie po uruchomieniu, po ponownym uruchomieniu powyższego kodu działało dobrze, chociaż otrzymałem komunikat ostrzegawczy, jak pokazano poniżej, nie jestem pewien, czy plyr został rozładowany, czy nie.
Komunikat ostrzegawczy: nie można wyładować przestrzeni nazw „plyr”: przestrzeń nazw „plyr” jest importowana przez „reshape2”, „scales”, „broom”, „ggplot2”, więc nie można jej usunąć
źródło
dla mnie rozwiązaniem była
detach()
funkcja, którą wykorzystałem w pakiecie funkcjiźródło