2017-09-01 20 views
-1

私は512の変数で調査データを作成しています。各回答者が複数のブランドについて同じ質問に答えているため、変数の量が多い。したがって、各変数、例えば「好み」は、回答者が知ることができる各ブランドについて20の列を有する。私はブランドである追加の列が1つ必要ですが、私はこれをまだ管理していませんでした。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) 

ので:1つの変数のブランドを持つ列、および2つの代わりにブランドunaided_awareness、ブランドaided_awarenessを、unaided_awarenessとaided_awarenessで。

しかし、3つ目は、結果がエラーなので完全に間違っています。

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) -make-a-great-r-reproducible-example)のデータセットを使用していますか?コードのトラブルシューティングを簡単に行うことができます。 –

答えて

0

reshape2パッケージからdcastをお試しください。詳細はAn introduction to reshape2を参照してください。 このブログポストの一番下には、青色/赤色のハイライト表示の素敵なビジュアルテーブルがあり、論理をうまく説明しています。

関連する問題