使用dplyr更改变量的值
我经常需要根据不同变量的值更改变量的值,如下所示:使用dplyr更改变量的值,r,dataframe,plyr,dplyr,R,Dataframe,Plyr,Dplyr,我经常需要根据不同变量的值更改变量的值,如下所示: mtcars$mpg[mtcars$cyl == 4] <- NA 如何使用dplyr?我们可以使用replace将'mpg'中的值更改为NA,对应于cyl==4 mtcars %>% mutate(mpg=replace(mpg, cyl==4, NA)) %>% as.data.frame() 如果在cyl==4给出的行中,我希望mpg的值是qsec的值,我会做mtcars%>%的变异(mpg=re
mtcars$mpg[mtcars$cyl == 4] <- NA
如何使用
dplyr
?我们可以使用replace
将'mpg'中的值更改为NA
,对应于cyl==4
mtcars %>%
mutate(mpg=replace(mpg, cyl==4, NA)) %>%
as.data.frame()
如果在
cyl==4
给出的行中,我希望mpg
的值是qsec
的值,我会做mtcars%>%的变异(mpg=replace(mpg,cyl==4,qsec))
,但我得到一个错误…@iago WIthreplace
,你也需要对值进行子集化,即replace(mpg,cyl==4,qsec[cyl==4])
当替换值选择整个column@iago我没有得到任何错误mtcars%>%mutate(mpg=replace(mpg,cyl==4,qsec[cyl==4])
。这可能是另一种情况。您是比较单个值还是多个值?是的!,我用which:qsec[which(cyl==4)]
求解。谢谢我假设我的错误是由于我的cyl
变量中缺少值造成的。@iago Yes,=
withNA
返回NA
您可以改为在%
中使用%
mtcars %>%
mutate(mpg=replace(mpg, cyl==4, NA)) %>%
as.data.frame()