我正在尝试使用dplyr将列中的某些特定值从0更改为1。我正在使用州立公园数据集,并创建了一个二进制列(游泳)来确定它是否有沙滩/游泳。
以下代码是我到目前为止尝试过的代码:
data.frame %>% mutate(Swimming = replace(Swimming, Park == c("Park1", "Park4", "Park8"), 1))
代码将Park1 $ Swimming从0更改为1,但其他公园没有更改。这是数据集的简化版本;我正在尝试将游泳柱换成30个公园。预先感谢您的帮助。
答案 0 :(得分:0)
我不确定您的dataframe
的外观,但是如果您只想将某些公园的特定列的值从0更改为1,则可以按照以下步骤操作。请下次发布可复制的示例
library(tidyverse)
df <- data_frame(
park = paste0("park", 1:4),
swimming = c(0,1,0,1)
)
df %>%
mutate(swimming = if_else(park %in% c("park2", "park3"), if_else(swimming == 0, 1, swimming), swimming))
#> # A tibble: 4 x 2
#> park swimming
#> <chr> <dbl>
#> 1 park1 0.
#> 2 park2 1.
#> 3 park3 1.
#> 4 park4 1.
``