2017-05-26 5 views
9

Running tych poleceń w konsoli, wyjście jest:tidyverse ingeruje w ggplot2? Nie można uzyskać dostępu map_data

> cty0 = ggplot2::map_data("county") 
> library(tidyverse) 
Loading tidyverse: ggplot2 
Loading tidyverse: tibble 
Loading tidyverse: tidyr 
Loading tidyverse: readr 
Loading tidyverse: purrr 
Loading tidyverse: dplyr 
Conflicts with tidy packages ----------------------------------------------------------------------------------------------- 
filter(): dplyr, stats 
lag(): dplyr, stats 
map(): purrr, maps 
> cty0 = ggplot2::map_data("county") 
Error: ggplot2 doesn't know how to deal with data of class list 

mogę zadzwonić map_data("county") grzywnę aż tidyverse jest załadowany, to się nie powiedzie. Jak załadować dane mapy powiatu z załadowanym tidyverse?

+3

Zgaduję, że elementy poniżej linii przerywanej są z komunikatów konsoli, ale na pewno należy wyjaśnić, że. Wydaje się prawdopodobne, że funkcja 'map' w 'purrr' maskuje funkcję' map' w pakiecie 'maps'. Mógłbyś odwrócić kolejność ładowania tidyverse i map, gdyby istniał powód, dla którego potrzebujesz "mapowania" (bardziej geograficznego pojęcia) niż potrzebujesz "mapowania" (funkcjonalnego języka komputera). Prawdopodobnie musisz rozpocząć nową sesję, aby odnieść sukces. Funkcja 'library' sprawdza, czy pakiet jest już załadowany, a jeśli tak, nic nie robi. –

+0

Wspomniałbym o tym także twórcom tidyverse. –

Odpowiedz

8

Przeniesione komentarz z góry po testach:

Zgaduję, że elementy poniżej linii przerywanej są z komunikatów konsolowych , ale na pewno należy wyjaśnić, że . Wydaje się prawdopodobne, że funkcja map w "purrr" maskuje funkcję mapy w pakiecie "map". Mógłbyś odwrócić kolejność ładowania tidyverse i map, gdyby istniał powód, dla którego potrzebujesz "mapowania" (bardziej geograficznego pojęcia) niż potrzebujesz "mapowania" (funkcjonalnego języka komputera). Prawdopodobnie musisz rozpocząć nową sesję, aby odnieść sukces. Funkcja biblioteczna sprawdza, czy pakiet jest już załadowany, a jeśli tak, nic nie robi.

Komentarz do terminologii. Domyślam się, że komputerowa operacja "mapowania" jest w rzeczywistości skróceniem z "wielokrotnego zastosowania" (funkcji do wyników tymczasowych). Jeśli byłaby szansa, aby wrócić i zmienić nazwę na coś, co byłoby podobne do koncepcji geograficznej, może być nazwane route() -ing. Geograficzną "mapą" wydaje się być statyczny dwu- lub trójwymiarowy obiekt lub "mapowanie" w celu umieszczenia pozycji na takim obiekcie.

Wydaje się uda:

# In a fresh session (and my profile attaches ggplot2 by default) 
> library(tidyverse) 
Loading tidyverse: tibble 
Loading tidyverse: tidyr 
Loading tidyverse: readr 
Loading tidyverse: purrr 
Loading tidyverse: dplyr 
Conflicts with tidy packages --------------------------------- 
combine(): dplyr, Hmisc # loaded in my .Rprofile; also attaches gglot2 
filter(): dplyr, stats 
lag():  dplyr, stats 
matches(): dplyr, sos #from .Rprofile; doesn't seem to clobber findFn function 
src():  dplyr, Hmisc 
summarize(): dplyr, Hmisc 
> cty0 = ggplot2::map_data("county") 

Attaching package: ‘maps’ 

The following object is masked from ‘package:purrr’: 

    map 
+0

Właśnie zrobiłem coś przeciwnego! 'purrr :: map' ale działa równie dobrze. Dzięki! –

+0

Każdy pomysł, dlaczego 'ggplot2 :: map_data' faktycznie dołącza' mapy'? – Axeman

+0

Ze strony pomocy funkcji: "Opis Łatwo przekształć dane z pakietu map w ramkę danych odpowiednią do drukowania za pomocą ggplot2." –

Powiązane problemy