【发布时间】:2019-10-08 23:41:06
【问题描述】:
我有一个小玩意:
library('tibble')
df <- tibble(
ticker = c("first", "second", "third"),
status = c(T,T,T)
)
> df
# A tibble: 3 x 2
ticker status
1 first TRUE
2 second TRUE
3 third TRUE
我想将原始df中'first'的状态更改为FALSE。
但是当我运行这段代码时:
library('dplyr')
df %<>%
filter(ticker=='first') %>%
mutate(
status = F
)
我只有第一行的原始df
> df
# A tibble: 1 x 2
ticker status
1 first FALSE
代替:
> df
# A tibble: 3 x 2
ticker status
1 first FALSE
2 second TRUE
3 third TRUE
【问题讨论】:
-
使用
mutate(status = ifelse(ticker=='first', F, T)) -
这里的其他解决方案:stackoverflow.com/questions/27909000/… ...
-
df %>% mutate(status = replace(status, ticker == "first", FALSE))或只是df %>% mutate(status = ticker != "first")