2015-10-19 30 views
2

我在學習dplyr,並且使用了nywflights13軟件包。我試圖找出從原產地航班的比例(NYC(EWR,JFK))到目的地(西雅圖)在R數據集中找到比例數據集

我期待的輸出,

Origin n  Prop 
JFK  2092  53 
EWR  1831  47 

我能做到這一點在其他方法。但我試圖找到使用dplyr包。我想沒有多少成功以下,

library("nycflights13") 

    flights %>% filter(dest=="SEA") %>% group_by(origin) %>% 
summarise(n=n(origin)) %>% mutate(Prop= n/sum(n)) 

但我得到一個錯誤Error in n(origin) : unused argument (origin)

任何人可以幫助我,我要在這做什麼修正?

+0

錯誤在N() :這個函數不應該直接調用 – haimen

+0

我已經試過了..這是我得到的錯誤 – haimen

回答

2

如果同時plyrdplyr被加載,我們可以有遮蔽的summarisemutate等,這是更好地使用

dplyr::summarise(n=n()) 

使用的全部代碼,

flights %>% 
    filter(dest=="SEA") %>% 
    group_by(origin) %>% 
    dplyr::summarise (n = n()) %>% 
    dplyr::mutate(freq = n/sum(n)) 
# Source: local data frame [2 x 3] 

# origin  n  freq 
# (chr) (int)  (dbl) 
#1 EWR 1831 0.4667346 
#2 JFK 2092 0.5332654 
+0

航班%>%filter(dest ==「SEA」)%>%group_by(origin)%>%summarize(n = n())%>%mutate(freq = n/sum(n)) 當我使用這個,我得到以下錯誤, n()中的錯誤:不應該直接調用此函數 – haimen

+0

嘗試'dplyr :: summarize(n = n())' – akrun

+0

我應該在哪裏使用它? – haimen