我試圖使用reshape2包重新整理我的數據,但出現錯誤。我的數據如下:使用reshape2重塑使用分隔符的數據
mydata<-read.csv("Data.csv")
head(mydata)
Date A.Price B.Price C.Price A.Rating B.Rating C.Rating
31/01/2012 1.273 3.11 1.215 5 4 3
29/02/2012 1.393 3.19 1.205 10 8 7
30/03/2012 1.367 3.15 1.076 10.5 9.5 7.5
我的目標是把它重塑了這個:
Date ID Price Rating
31/01/2012 A 1.273 5
31/01/2012 B 3.11 4
31/01/2012 C 1.215 3
29/02/2012 A 1.393 10
29/02/2012 B 3.19 8
....
到目前爲止,我的代碼是:
mydata$ID <- sequence(nrow(mydata))
out<-melt(reshape(mydata, direction = "long",
timevar = "Group", varying = names(mydata), sep = "."),
id.vars = c("ID", "Price","Rating"))
但即時得到錯誤:
Error in reshapeLong(data, idvar = idvar, timevar = timevar, varying = varying, : 'varying' arguments must be the same length
關於如何解決這個問題的任何想法?
非常感謝!但有沒有辦法做到這一點,以便我可以使用「。」作爲分隔符而不是輸入列的名稱? –
@richard_jokes因爲前綴和後綴都是變化的,所以一種方法是在變形中將'vary'中的列指定爲'list'。即'重塑(mydata,direction ='long',vary = list(2:4,5:7))' – akrun
@richard_jokes我增加了一些選項。希望能幫助到你。 – akrun