2016-02-25 14 views
5

Jak można wyodrębnić pojedynczy wiersz z tbl_df jako wektor? Proste podzbiorów z [] wsporników uzyskuje się 1-wiersz tbl_df:Wyciągnij pojedynczy wiersz dplyr tbl_df jako wektor

library(dplyr) 
dat <- as_data_frame(mtcars) 

dat[2, ] 

Source: local data frame [1 x 11] 

    mpg cyl disp hp drat wt qsec vs am gear carb 
    (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) 
1 21  6 160 110 3.9 2.875 17.02  0  1  4  4 

Podobny problem do Extract a dplyr tbl column as a vector, ale (chyba) kilka różnych rozwiązań.

+3

... lub 'wyświetlać na liście (DAT [2])' –

+0

Dzięki obu. Okazuje się, że moje pytanie wynika z nieuświadomienia sobie, że produkt 'mtcars [2,]' jest 'data.frame', ponieważ przyszłe operacje, które wykonuję, jak" wklej (...) "zmuszają go do wektora. Pomyłkowo myślałem, że to już wektor. Teraz widzę, że mogę również wkleić (...) 'na 1-wiersz' tbl_df' i uzyskać wektor. Z tym zrozumieniem uważam, że jest to duplikat. Mam nadzieję, że przynajmniej pomoże innym, którzy zostali odrzuceni, widząc 'tbl_df'. 'unlist (dat [2,])' jest tym, co zrobiłem. –

Odpowiedz

4

pomocą operatora dplyr%>%

library(dplyr) 
tbl_df(mtcars) %>% 
      slice(2) %>% 
      unlist(., use.names=FALSE) 

lub możemy użyć c z recursive=TRUE

tbl_df(mtcars) %>% 
      slice(2) %>% 
      c(., recursive=TRUE) %>% 
      unname 
Powiązane problemy