在赋值中使用dplyr

在赋值中使用dplyr,r,dplyr,plyr,R,Dplyr,Plyr,我有一个关于dplyr的问题 假设我想更新数据帧中的某些值,可以这样做吗 mtcars %>% filter(mpg>20) %>% select(hp)=1000 (当MPGs大于20的所有车辆的HP设置为1000时,该示例是荒谬的) 我得到了一个错误,所以我猜答案是否定的。我不能使用%%>%%和作业左侧的dplyr动词,但是dplyr语法比: mtcars[mtcars$mpg>20,"hp"]=1000 特别是在处理更复杂的情况时,我想问一下,在这种情况下,是否

我有一个关于dplyr的问题

假设我想更新数据帧中的某些值,可以这样做吗

mtcars %>% filter(mpg>20) %>% select(hp)=1000
(当MPGs大于20的所有车辆的HP设置为1000时,该示例是荒谬的)

我得到了一个错误,所以我猜答案是否定的。我不能使用
%%>%%
和作业左侧的
dplyr
动词,但是
dplyr
语法比:

mtcars[mtcars$mpg>20,"hp"]=1000
特别是在处理更复杂的情况时,我想问一下,在这种情况下,是否有任何方法可以使用
dplyr
语法

编辑:看起来
mutate
是我想要的动词,所以现在我的问题是,我可以动态更改mutate语句中var的名称吗

for (i in c("hp","wt")) {mtcars<-mtcars %>% filter(mpg>20) %>% mutate(i=1000) }
for(c中的i(“hp”,“wt”){mtcars%过滤器(mpg>20)%>%mutate(i=1000)}

这个例子只是创建了一个名为“i”的列,它的值为1000,这不是我想要的。

你想要
mtcars%>%mutate(hp=ifelse(mpg>20,1000,hp))
?mutate(mtcars,hp=ifelse(mpg>201000,hp)谢谢,这就是trickIn香草R,你可以做
x[y>20]我想这可能会回答这个问题:你想要
mtcars%>%变异(hp=ifelse(mpg>20,1000,hp))
?变异(mtcars,hp=ifelse(mpg>201000,hp)谢谢,这是个小把戏,你可以做
x[y>20]我想这可能会回答这个问题: