R - sqldf - 更新查询

R - sqldf - update query

我目前正在做一个项目,我需要有条件地更新数据框中的变量。我发现最简单的方法是使用 sqldf/RSQLite。到目前为止,我已经尝试了几种代码组合,这是我用得最远的一种(匿名化数据集)

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

根据我对该主题所做的研究,我了解到 sqldf 在“.”方面存在问题。特点。有没有简单的解决方法?

提前致谢!

有条件地更新内容的最简单方法是:

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

根本不需要 sqldf。

这个概念叫做逻辑索引。您根据逻辑表达式 dataframe$Variable.name.category == "Text Value".

的真值对数据框的 Variable 列进行索引

另一个选项是 dplyr:

dataframe <- dataframe %>%
  mutate(Variable = ifelse(
    Variable.name.category == "Text Value", 
    "New Text Value", 
    Variable)
  )