dplyr变异、替换和列长度

dplyr变异、替换和列长度,r,replace,dplyr,R,Replace,Dplyr,col2的长度实际上是四行,而不是十二行。错误是误导还是我误解了什么?如何纠正它?问题是,您的语句中的指的是df(有12个元素),而不是col2。您需要显式地编写is.na(col2) df %>% mutate(col2 = replace(col2, is.na(.), 0)) #> Error: Column `col2` must be length 4 (the number of rows) or one, not 12 或者,您可以使用替换\u na,这是专门为此设计

col2
的长度实际上是四行,而不是十二行。错误是误导还是我误解了什么?如何纠正它?

问题是,您的语句中的
指的是
df
(有12个元素),而不是
col2
。您需要显式地编写
is.na(col2)

df %>% mutate(col2 = replace(col2, is.na(.), 0))
#> Error: Column `col2` must be length 4 (the number of rows) or one, not 12
或者,您可以使用
替换\u na
,这是专门为此设计的

df %>% mutate(col2 = replace(col2, is.na(col2), 0))

问题是您语句中的
指的是
df
(有12个元素),而不是
col2
。您需要显式地编写
is.na(col2)

df %>% mutate(col2 = replace(col2, is.na(.), 0))
#> Error: Column `col2` must be length 4 (the number of rows) or one, not 12
或者,您可以使用
替换\u na
,这是专门为此设计的

df %>% mutate(col2 = replace(col2, is.na(col2), 0))

您可能需要
is.na(col2)
因为
将引用
df
(有12个元素),您可以使用
替换na
df%>%mutate\u if(is.numeric,replace\u na,0)
@Andrew Gustar这很简单!你想把答案写出来,这样我就可以标记为已解决并信任你了吗?你可能需要
is.na(col2)
,因为
将引用
df
(有12个元素),你可以使用
replace\u na
df%>%mutate\u如果(是数字,替换为na,0)
@Andrew Gustar,很简单!你想把答案写下来,这样我就可以给你打分并给你评分吗?