0

複数の質問変数の頻度を取得するために調査データを分析する必要があります。このRパッケージを使用しています

使用する変数を作成するには、「multi.split」関数を使用する必要があることを理解しています。しかし、データセットにない回答を参照する方法を知る必要があります。つまり、元の質問の一部であったが、調査中に選択されなかった回答を値 0 で表示する必要があります。

例: 次のまずまずの答えがあります。

"red", "blue", "green" and "yellow" 

私のデータは(例のように):

v <- c("red/blue","green","red/green","blue/red")

このコマンドを実行すると:

multi.table(multi.split(v))

次の結果が得られます。

        n     %multi
v.blue  2     50
v.red   3     75
v.green 2     50

しかし、私は取得したい:

         n     %multi
v.blue   2     50
v.red    3     75
v.green  2     50
v.yellow 0      0

どうすればそれを行うことができますか?

4

1 に答える 1

0

今までこのパッケージを使用したことがありませんが、試してみます。

この関数multi-split()は data.frame を生成するため、統計を取得する前に別の列を追加する場合は、次のようにすることができます。

v <- c("red/blue","green","red/green","blue/red")
a <- multi.split(v)
a$v.yellow <-  0
multi.table(a)


## > multi.table(a)
## n %multi
## v.blue   2     50
## v.red    3     75
## v.green  2     50
## v.yellow 0      0

更新 より一般的なバージョンは、そのようなものになります。

1.wanted.dataは、常に出力に必要な列名の文字です。2. col.to.add は、data.frame に含まれていなかった列ですa。3. 次に、存在しなかった列に 0 を割り当てます。4. 最後に列を並べ替えて、常に同じ順序になるようにします。

library(questionr)
v <- c("red/blue","green","red/green","blue/red")
wanted_data <-  c("v.red","v.blue","v.green","v.yellow")

 a <- multi.split(v)
 col.to.add<- wanted_data[!(wanted_data%in% colnames(a) )]
 a[col.to.add] <- 0
 a[,order(colnames(a))]
 multi.table(a)

## > multi.table(a)
## n %multi
## v.blue   2     50
## v.red    3     75
## v.green  2     50
## v.yellow 0      0
于 2016-04-10T20:51:35.997 に答える