如何更改R中的多个列值?
我正在尝试使用dplyr将列中的某些特定值从0更改为1。我正在使用一个州立公园数据集,并创建了一个二进制列(游泳),用于判断它是否有海滩/游泳池 以下代码是我迄今为止尝试过的代码:如何更改R中的多个列值?,r,R,我正在尝试使用dplyr将列中的某些特定值从0更改为1。我正在使用一个州立公园数据集,并创建了一个二进制列(游泳),用于判断它是否有海滩/游泳池 以下代码是我迄今为止尝试过的代码: data.frame %>% mutate(Swimming = replace(Swimming, Park == c("Park1", "Park4", "Park8"), 1)) 代码将Park1$游泳从0更改为1,但其他公园没有更改。这是数据集的简化版本;我想把游泳栏改成30个公园。提前感谢您的帮助。
data.frame %>% mutate(Swimming = replace(Swimming, Park == c("Park1", "Park4", "Park8"), 1))
代码将Park1$游泳从0更改为1,但其他公园没有更改。这是数据集的简化版本;我想把游泳栏改成30个公园。提前感谢您的帮助。数据输入
我不确定您的数据帧的外观如何,但如果您只想将特定列的值从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.
``
库(tidyverse)
df%
变异(游泳=if_-else(将%停在%c中(“park2”、“park3”)、if_-else(游泳=0,1,游泳),游泳))
#>#tibble:4 x 2
#>公园游泳
#>
#>1公园10。
#>2公园2 1。
#>3公园3 1。
#>4公园4 1。
``
数据输入
我不确定您的数据帧的外观如何,但如果您只想将特定列的值从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.
``
库(tidyverse)
df%
变异(游泳=if_-else(将%停在%c中(“park2”、“park3”)、if_-else(游泳=0,1,游泳),游泳))
#>#tibble:4 x 2
#>公园游泳
#>
#>1公园10。
#>2公园2 1。
#>3公园3 1。
#>4公园4 1。
``
您想要%
中的%,而不是=
<代码>=
测试成对相等性。通过R的向量“循环”,Park==c(“Park1”、“Park4”、“Park8”)
测试Park[1]==“Park1”,然后Park[2]==“Park4”
,然后Park[3]==“Park8”
,然后Park[4]==“Park1”
,等等。这方面有常见问题,但很难找到……这是有意义的。非常感谢您的回复。您需要%中的%,而不是=
<代码>=
测试成对相等性。通过R的向量“循环”,Park==c(“Park1”、“Park4”、“Park8”)测试Park[1]==“Park1”,然后Park[2]==“Park4”
,然后Park[3]==“Park8”
,然后Park[4]==“Park1”
,等等。这方面有常见问题,但很难找到……这是有意义的。非常感谢您的回复。