車削數據我有這樣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