現時点で私は投票データのデータを持っていますが、それぞれの人が複数のポリシーに投票したかどうか、投票の時点で不在でした特定のポリシー。はい/いいえ/不在のデータをバイナリ・マトリックスに変換する
全体的には23のポリシーがありますが、データをバイナリに変換する方法はわかりません。 データセットは、明らかに "n" = no、 "y" = yes、 "a" = absentに設定されています
誰かが私にRのデータの変換方法私はバイナリマトリックスに感謝します!例えば
現時点で私は投票データのデータを持っていますが、それぞれの人が複数のポリシーに投票したかどうか、投票の時点で不在でした特定のポリシー。はい/いいえ/不在のデータをバイナリ・マトリックスに変換する
全体的には23のポリシーがありますが、データをバイナリに変換する方法はわかりません。 データセットは、明らかに "n" = no、 "y" = yes、 "a" = absentに設定されています
誰かが私にRのデータの変換方法私はバイナリマトリックスに感謝します!例えば
:
m <- as.matrix(cbind(c('y','y','y'),c('n','n','n'),c('a','a','a')))
m[m == 'y'] <- 1
m[m == 'n'] <- 0
m[m == 'a'] <- NA
これはmodel.matrix
を用いて行うことができます。これは、多くの場合Rで自動的に行われます(例:回帰分析。
> set.seed(1)
> (df <- data.frame(id=1:10,vote=sample(c("yes","no","absent"),10,replace=TRUE)))
id vote
1 1 yes
2 2 no
3 3 no
4 4 absent
5 5 yes
6 6 absent
7 7 absent
8 8 no
9 9 no
10 10 yes
> model.matrix(~.-1,df)
id voteabsent voteno voteyes
1 1 0 0 1
2 2 0 1 0
3 3 0 1 0
4 4 1 0 0
5 5 0 0 1
6 6 1 0 0
7 7 1 0 0
8 8 0 1 0
9 9 0 1 0
10 10 0 0 1
代わりに、 'TRUE'と' FALSE'を使用してください。そして、もちろん、マトリックスはあなたのアプローチの文字マトリックスになります。 – Roland
あなたのアプローチに従えば、私はそうするかもしれません: 'm [m == 'a'] < - NA; m [] < - m == 'y'; storage.mode(m)< - "logical" ' – Roland