別の骨の折れる要求。再コード化された変数を使用して分割表を作成しようとしています。回答は「1」としてコード化され、回答がないものは「0」としてコード化されます。
元のデータは次のようになっている可能性があります。文字列から再コード化された変数もあれば、数値から再コード化された変数もあります。
id var1 recode var2 recode2 ... var250 recode250
1 "hello" 1 1 1 ...
2 "hi" 1 <NA> 0 ...
3 0 <NA> 0 ...
4 "hola" 1 1 1 ...
この文字列の再コーディングを行うためのコードを少し書きましたが、これは分割表を使用してチェックします。
data$recode <- ifelse((as.numeric(data$var1)!=1), 1, 0) #RECODES STRINGS
table(data$recode)
0 1
1 3
ただし、他のすべての変数の NA を 0 になるように再コーディングする必要もあります。別の ifelse ステートメントでこれを実行しようとしました。
data <- ifelse(is.na(data), 0, 1)
値が変化しているように見えますが、同じ分割表を実行しようとすると、次のエラー メッセージが表示されます。
Error in data$recode : $ operator is invalid for atomic vectors
当面の重要な問題は、すべての変数の分割表を作成できるようにする必要があることです(つまり、パーセンテージと頻度を報告します)。そのため、(列の範囲内の) すべての NA を 0 に正しく再コード化する方法を教えてください。とても役に立ちます。ありがとう!