前提・実現したいこと
Rで各行にテキストが入ったデータフレームを読み込む際、
NAを"False"、文字列がある(データが入っている)場合はすべての文章を削除して"True"という文言に置換したいです。
欠損値をFalseに置換することはできたのですが、
それ以外の、記述がある全ての行に対しての置換方法がわからず困っています。
具体的には、
csvファイルを読み込み、以下のようなデータフレームがあるとします。
df <- read.csv("temp.csv", stringsAsFactors = F, na.strings=c(' '))
index|text
1|おはようございます。
2|Na
3|こんにちは????
4|Na
5|Hello!
これに対して
df_prof_TF[is.na(df_prof_TF)] <- "False"
とすると、
1|おはようございます。
2|False
3|こんにちは????
4|False
5|Hello!
へと置換することはできたのですが、
この後、False以外の記述がある行全てを"True"に書き換えたいのです。
1|True
2|False
3|True
4|False
5|False
良い方法はございませんでしょうか。
ご教授よろしくお願いいたします。
試したこと
if文を使用したりして実現できないかと試行錯誤していましたが、
うまく定義できず実現できませんでした。
また、stringrライブラリのstr_replace_allで日本語に対応するメタ文字がないかと探しましたが、見つけられず…。
そもそも日本語だけではなく、あらゆる種類の文字全てを指定したいので、
これでは解決策にはならないかなと思っています。
とても横着ですが、"[\d\D]+"と指定すれば「半角数字全ての文字+半角数字以外の全ての文字」という意味になり、
実質的に「全ての文字」を対象にできるかもと考えたのですが、
当然実行されませんでした…。
完全にお手上げです。
置換ではなくても構いません。
データ量があるかないかで判断し、
データなしを"False"に、データありを"True"と読み込むことができれば
どんな方法でも大丈夫です。
よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
RStudio
2021.09.0 Build 351
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/20 03:22
2021/11/20 03:25 編集
2021/11/20 03:34
2021/11/20 03:38
2021/11/20 03:50