车削数据我有这样R:在数据帧的列
Tag Date (DD/MM/YYYY)
AA 1/1/2010
AB 2/1/2010
AC 3/1/2010
AA 4/1/2010
AB 5/1/2010
AA 6/1/2010
AB 7/1/2010
AC 8/1/2010
一个数据帧现在,有限量的不同标记,(小于10的平均)。我需要的是以更舒适的方式处理数据。我已经分析了标签序列数据以找出更频繁的重复模式,在这种情况下它将是(AA,AB,AC)。
现在,我想要的是将数据转换成这样的东西,所以我可以使用它。
AA AB AC
1/1/2010 2/1/2010 3/1/2010
4/1/2010 5/1/2010 NA
6/1/2010 7/1/2010 8/1/2010
我看到这个问题,Turning field values into column names in an R data frame,它非常接近我所需要的。这样做
>libray(reshape2)
>df<-sqldf("SELECT Tag, Date FROM validData")
>head(dcast(df,Date~Tag))
产生
Using Date as value column: use value_var to override.
Aggregation function missing: defaulting to length
Date AF687A AVISOO B32D76 B3DC39 B52C72 DF7EAD DF8E83 DFA521 DFA91A
1 2010-12-23 09:18:50 0 0 0 0 1 0 0 0 0
2 2010-12-23 09:18:52 1 0 0 0 0 0 0 0 0
3 2010-12-23 09:18:54 0 0 0 0 1 0 0 0 0
4 2010-12-23 09:18:57 1 0 0 0 0 0 0 0 0
5 2010-12-23 09:18:58 0 0 0 0 1 0 0 0 0
6 2010-12-23 09:19:00 0 0 0 1 0 0 0 0 0
我觉得我很近,但我想不通的最后一个步骤,如在什么上面描述我压缩表。任何线索?
你做没有明确提及这一点,但你假设了一个关系(例如:当第六次观察没有标记AC时,在所需结果中使用NA)。如果您满意:标签为'AA'的所有日期,以及标签为'AB'(等)的所有日期,即使这些日期的长度不相同,任务也会简单得多。你能确认你想要哪一个? – 2011-06-08 15:51:54
理想情况下,我想要第一个选择,当模式与列表不同时创建一个新行。我知道使用命令式语言或PLSQL之类的语言比使用R语言更容易。但至少第二选择将是我猜测的开始。 – 2011-06-08 15:59:03