R で Google フォームの結果を処理しようとしていますが、文字列データの処理で壁にぶつかりました。
質問はここで見ることができます:
Google は、各応答をカンマで区切った単一の列で結果を返します。
彼らは最終的に次のようになります
ID | Type of Research
=====================
1 | Policy analysis, Review of other research
2 | Bla
3 | Review of other research, Original empirical research
4 | Policy analysis, Theoretical
5 | Review of other research
grepl を使用して論理列を作成し、事前に選択された 3 つの応答の data.frame を作成しました。
Private$ResearchTypeOriginal <- grepl("Original", Private$ResearchType)
Private$ResearchTypeReview <- grepl("Review", Private$ResearchType)
Private$ResearchTypePolicy <- grepl("Policy", Private$ResearchType)
ResearchTypeGrid <- data.frame(Private$ResearchTypeOriginal, Private$ResearchTypeReview, Private$ResearchTypePolicy)
これはうまくいきます。ただし、「その他」も引き抜く必要があります。使っていました
ResearchTypeOther <- subset(Private, !grepl("Original", Private$ResearchType) & !grepl("Review", Private$ResearchType) & !grepl("Policy", Private$ResearchType), select=c(ID, ResearchType, PubLang, Reviewer))
ResearchTypeOther <- na.omit(ResearchTypeOther)
しかし、応答に事前選択された応答と無制限の応答の両方がある場合、この方法を使用すると失われることに気付きました。「Bla」応答を返すのには問題なく機能しますが、「その他」のみの応答のみです。
言い換えれば、これは
ID | Type of Research
=======================
2 | Bla
しかし、私が欲しいのは
ID | Type of Research
======================
2 | Bla
4 | Policy analysis, Theoretical
SO に投稿するのはこれが初めてで、明らかに R は初めてなので、質問の仕方に間違いがあればご容赦ください。これをうまく表現できていない場合は、申し訳ありません。同じ問題について他に 20 件ほどの質問があるため、柔軟な解決策が必要です。
助けてくれてありがとう。