Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
dplyr替换为R中的位置_R_Dplyr - Fatal编程技术网

dplyr替换为R中的位置

dplyr替换为R中的位置,r,dplyr,R,Dplyr,第三行mtcars$mpg的值为22.8 library(tidyverse) mtcars$mpg[[3]] 我继续并用值5555替换这个22.8,如下所示。它的工作,但不是在第三排,因为我命令我的电脑做!相反,该值显示在mtcars$mpg列的第22行 mtreplace <- mtcars %>% mutate(mpg = replace(mpg, mpg[[3]], 5555)) mtreplace mtreplace$mpg[[3]] mtreplace$mpg[[22]

第三行
mtcars$mpg
的值为
22.8

library(tidyverse)
mtcars$mpg[[3]]
我继续并用值
5555
替换这个
22.8
,如下所示。它的工作,但不是在第三排,因为我命令我的电脑做!相反,该值显示在
mtcars$mpg
列的第22行

mtreplace <- mtcars %>% mutate(mpg = replace(mpg, mpg[[3]], 5555))
mtreplace
mtreplace$mpg[[3]]
mtreplace$mpg[[22]]
mtreplace%变异(mpg=replace(mpg,mpg[[3]],5555))
mtreplace
MTG$mpg[[3]]
MTG$mpg[[22]]
如何使此更改恰好发生在mtcars$mpg的第三行?出了什么问题?

代码应该是

mtcars %>% mutate(mpg = replace(mpg, 3, 5555))
我们可以使用

library(dplyr)
mtcars %>%
     mutate(mpg = case_when(row_number() == 3 ~ 5555, TRUE ~ mpg))

我认为dplyr可能有些过分,可能不是解决这个问题的最佳工具。这很好:

mtcars[3, "mpg"] <- 5555
mtcars[3,“mpg”]