2017-02-24 104 views
1

這是我的數據幀:如何將數據框中的行與dplyr組合併合並其他數據?

UID    HH0 HH1 HH2 HH3 HH4 HH5 
JEZAF000080843824 NA NA NA 1 NA NA 
JEZAF000080843824 NA NA NA NA Y NA 
JEZAF000080843824 NA NA NA NA NA 2 

以下是我在

UID    HH0 HH1 HH2 HH3 HH4 HH5 
JEZAF000080843824 NA NA NA 1 Y 2 

我與dplyrgroup_by圍繞發揮的結果尋找,但我不知道有什麼功能%>%成。我知道有可能是一個簡單的答案,但我是新與R.

+0

開始用'DF%>%GROUP_BY(UID)%>%summarise_all(最大,NA做到這一點.rm = TRUE)' – HubertL

回答

0

我們可以na.omit

df1 %>% 
    group_by(UID) %>% 
    summarise_each(funs(na.omit)) 
# A tibble: 1 × 7 
#    UID HH0 HH1 HH2 HH3 HH4 HH5 
#    <chr> <lgl> <lgl> <lgl> <int> <chr> <int> 
#1 JEZAF000080843824 NA NA NA  1  Y  2 
+0

我認爲這會工作,但我碰到一個錯誤:在summarise_impl(.data,dots)錯誤:期待一個單一的值。數據框格式爲列類型爲因素。我想知道問題是否存在。 – ddamko

+0

@ddamko在你展示的例子中,每個UID只有一個非NA值。如果原始數據集不是這種情況,我們必須改變它,就像HubertL所評論的那樣 – akrun