-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 回答