我目前正在开发一个项目,我需要有条件地更新数据框中的变量。我发现最简单的方法是使用sqldf / RSQLite。到目前为止,我已经尝试了几种代码组合,这是我最远的代码组合(对数据集进行匿名化)
sqldf("UPDATE dataframe SET Variable = 'New Text Value' WHERE Variable.name.category = 'Text Value'")
根据我对该主题所做的研究,我了解到sqldf存在问题。'。'字符。有一个简单的解决方法吗?
提前致谢!
答案 0 :(得分:1)
有条件地更新内容的最简单方法是:
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)
)