使用组由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”)' 不是 一个函数,字符或符号“
答
你可以尝试做一个哈克的方式,填补空白,然后删除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)
有可能是一个更好的办法,但是,这是我从我的头顶觉得没有最简单的一组数据构建更复杂的东西。
@ggamba,感谢您的编辑。它看起来更漂亮。知道我可以参考关于设计SO问题的页面? –
按分组汇总数据,你的汇总功能是什么? sql查询将无法正常工作。 –