的数据看起来类似于下面的
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 :(得分:0)
你可以尝试通过填充空白然后删除重复来做一个hacky方式。您需要为每个列执行以下代码(您没有提供数据集,因此我无法对其进行测试)。
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)
可能有一种更好的方法,但这是我能想到的最简单的方法,没有一组数据来构建更复杂的东西。