-2

現在、データフレーム内の変数を条件付きで更新する必要があるプロジェクトに取り組んでいます。これを行う最も簡単な方法は、sqldf/RSQLite を使用することです。これまでにいくつかのコードの組み合わせを試しましたが、これは私が最も得たものです(データセットの匿名化)

sqldf("UPDATE dataframe SET Variable = 'New Text Value' WHERE Variable.name.category = 'Text Value'")

このトピックについて行った調査から、sqldf には「.」に問題があることがわかりました。キャラクター。これに対する簡単な回避策はありますか?

前もって感謝します!

4

1 に答える 1

2

何かを条件付きで更新する最も簡単な方法は次のとおりです。

dataframe$Variable[dataframe$Variable.name.category == "Text Value"] <- "New Text Value"

sqldf はまったく必要ありません。

この概念は、論理索引付けと呼ばれます。Variable論理式の真理値に基づいて、データ フレームの列にインデックスを付けますdataframe$Variable.name.category == "Text Value"

別のオプションは次のdplyrとおりです。

dataframe <- dataframe %>%
  mutate(Variable = ifelse(
    Variable.name.category == "Text Value", 
    "New Text Value", 
    Variable)
  )
于 2017-01-10T20:32:31.127 に答える