2017-04-06 65 views
-1

具有看起來類似於下面使用組由r中的數據幀

UserID dob start_date induction_date end_date 
1  1990-12-12   
1    2010-10-10   
1      2010-10-12 
1          2016-10-31 
2  1991-12-14   
2   2011-10-10  
2      2011-10-12 
2          2015-10-31 

我想通過選擇所有的數據以創建一個數據幀,使得被顯示在與共同的ID的所有數據的數據作爲一行。我一直在使用

sec_data <- sqldf('select * from first_data group by id') 

嘗試,但我得到的錯誤

「錯誤match.fun(asfn): 'C( 「as.labelled」, 「as.integer」)' 不是 一個函數,字符或符號「

+0

@ggamba,感謝您的編輯。它看起來更漂亮。知道我可以參考關於設計SO問題的頁面? –

+0

按分組彙總數據,你的彙總功能是什麼? sql查詢將無法正常工作。 –

回答

0

你可以嘗試做一個哈克的方式,填補空白,然後刪除dups。您需要爲每列執行下面的代碼(您沒有提供數據集,因此我無法測試它)。

value<-0 
for (i in 1:length(first_data)){ 
    if (first_data$dob[i]!= ''){ 
    value=first_data$dob[i] 
    } else { 
    first_data$dob[i]<-value 
} 

後,你做的每一列從表中刪除重複

first_data<-unique(first_data) 

有可能是一個更好的辦法,但是,這是我從我的頭頂覺得沒有最簡單的一組數據構建更復雜的東西。