間違って入力されたデータをクリーンアップしようとしています。変数に関する質問では、1 から 5 までの番号が付けられた 5 つの選択肢から複数の回答を得ることができます。データは次のように入力されています (これは単なる例です。実際のデータには、さらに多くの変数と観測値があります。フレーム):
data
V1
1 1, 2, 3
2 1, 2, 4
3 2, 3, 4, 5
4 1, 3, 4
5 1, 3, 5
6 2, 3, 4, 5
そのサンプル データを再作成するコードを次に示します。
data = data.frame(V1 = c("1, 2, 3", "1, 2, 4", "2, 3, 4, 5",
"1, 3, 4", "1, 3, 5", "2, 3, 4, 5"))
私が実際に必要としているのは、より多くのデータを処理することです...バイナリ--「はい/いいえ」の質問のセットのように--より似たデータフレームに入力されます:
data
V1.1 V1.2 V1.3 V1.4 V1.5
1 1 1 1 NA NA
2 1 1 NA 1 NA
3 NA 1 1 1 1
4 1 NA 1 1 NA
5 1 NA 1 NA 1
6 NA 1 1 1 1
現時点では、実際の変数名は問題ではありません。簡単に修正できます。また、欠落している要素が「O」、「NA」、または空白であるかどうかはあまり重要ではありません。これも後で修正できます。
transform
パッケージの関数と を使用してreshape
さまざまなものを使用しようとしましたstrsplit
が、探していることを実行することはできません。Stackoverflow に関する他の多くの関連する質問も調べましたが、まったく同じ問題ではないようです。