使用组由r中的数据帧

问题描述:

具有看起来类似于下面使用组由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查询将无法正常工作。 –

你可以尝试做一个哈克的方式,填补空白,然后删除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) 

有可能是一个更好的办法,但是,这是我从我的头顶觉得没有最简单的一组数据构建更复杂的东西。