R相当于SQL更新查询

R相当于SQL更新查询,sql,r,Sql,R,我想使用R在SQL中执行与更新查询等效的操作。如果我有如下数据: # Example Data df <- data.frame(x <- c("My Name", "My Name"), y <- c("AZ", "MI")) colnames(df) <- c("Name", "State") print(df) > print(df) Name State 1 My Name AZ 2 My Name MI 因此,最终输出为: &g

我想使用R在SQL中执行与更新查询等效的操作。如果我有如下数据:

# Example Data
df <- data.frame(x <- c("My Name", "My Name"), y <- c("AZ", "MI"))
colnames(df) <- c("Name", "State")

print(df)

> print(df)
     Name State
1 My Name    AZ
2 My Name    MI
因此,最终输出为:

> print(df)
      Name State
1  My Name    AZ
2 My Name1    MI
有什么想法吗

语法是:


df[逻辑条件或行号、列名或编号]因为您在数据帧中使用因子,所以需要首先使用

levels(df$Name) <- c(levels(df$Name), "My Name1")

不起作用的级别(df$Name)(即使我将df$Name==“MyName”编辑为df$Name==“MyName”)。我遗漏了什么吗?在R中,您也可以使用
df[2,1]True直接引用“cells”,但在引用cells时,您会失去对SQL命令的模拟,因此对于不总是工作的大型数据库。
df[df$Name == "MyName" & df$State == "MI", "State"] <- "My Name1"
levels(df$Name) <- c(levels(df$Name), "My Name1")
df[df$Name == "My Name" & df$State == "MI", "Name"] <- "My Name1"