2017-09-01 47 views
-1

我正在調查512個變量的數據。變量的數量很高,因爲每個受訪者對多個品牌都回答相同的問題。因此,每個變量(例如'偏好')都有20列,對於受訪者可能知道的每個品牌。我想要一個額外的專欄,這是一個品牌,但我沒有管理這個。Tidyr的寬長格式

我申請tidyr包,這都非常好,第一組變量:

TestSet100<-as.data.frame(TestSet100) 
TestSet100$ID <- factor(TestSet100$ID) 
Test_long<-reshape(TestSet100long, varying=c(unaided_b1:unaided_b20), direction="long", idvar= "ID", sep="_") 

結果正是我所需要的。但是,出了問題,只要我開始下一個:

TestSet100long3<-gather(TestSet100long, brand, aided_awareness, aided_b1:aided_b20, factor_key=T) 

因爲那時它增加了:品牌unaided_awareness,品牌aided_awareness,與可變品牌一個欄,兩代替與unaided_awareness和aided_awareness。

但與第三個,它完全錯了,因爲那麼結果是一個錯誤。

TestSet100long4<-gather(TestSet100long3, brand, familiarity, fami_b1:fami_b20, factor_key=T) 
Error: is_dictionaryish(x) is not TRUE 
+1

你能提供一個[最小可重現的例子](https://stackoverflow.com/questions/5963269/how-to - 製作一個很好的可重現的例子)你的數據集?這會讓我們更容易排查您的代碼。 –

回答

0

嘗試dcastreshape2包。有關更多詳細信息,請參閱An introduction to reshape2。 在這個博客的底部有一個很好的藍色/紅色突出顯示的視覺表,很好地解釋了邏輯

相關問題