使用条件将一列中的整个值替换为另一列
Replace whole values in a column with another column using condition
我有“参考数据”,其中包含深度值和相应级别,最多 n 个级别,如下所示;
depth levels
0.06 1
0.19 2
0.33 3
0.48 4
0.63 5
0.8 6
我在 csv 中有另一个“数据文件”,如下所示。
Date Levels variable
3-Jan 1 15.25
3-Feb 5 13.09
3-Mar 25 14.21
3-Apr 26 13.65
3-May 27 12.79
3-Jun 27 15.65
在这个“数据文件”中,我在第 3 列中有水平,需要根据“参考数据”进行更改。这意味着如果“数据文件”中的级别为 1,我需要用“参考数据”中相应的深度值替换该值“1”,即 0.06。像那样,我想更改“数据文件”第二列中的所有值。
到目前为止,我已经尝试了 mapvalues
和 match
。但是运气不好。
我认为您想使用关卡合并两个数据集。然后对于每个日期你都会有 variable
和 depth
,你可以用它做你想做的事(包括用 depth
覆盖 level
,正如你建议的那样)。
library(tidyverse)
reference_data <- read_table("depth levels
0.06 1
0.19 2
0.33 3
0.48 4
0.63 5
0.8 6")
data_file <- read_table("Date Levels variable
3-Jan 1 15.25
3-Feb 5 13.09
3-Mar 25 14.21
3-Apr 26 13.65
3-May 27 12.79
3-Jun 27 15.65")
data_file %>%
left_join(reference_data, by = c("Levels" = "levels"))
#> # A tibble: 6 x 4
#> Date Levels variable depth
#> <chr> <dbl> <dbl> <dbl>
#> 1 3-Jan 1 15.2 0.06
#> 2 3-Feb 5 13.1 0.63
#> 3 3-Mar 25 14.2 NA
#> 4 3-Apr 26 13.6 NA
#> 5 3-May 27 12.8 NA
#> 6 3-Jun 27 15.6 NA
由 reprex package (v2.0.0)
于 2021-07-14 创建
我有“参考数据”,其中包含深度值和相应级别,最多 n 个级别,如下所示;
depth levels
0.06 1
0.19 2
0.33 3
0.48 4
0.63 5
0.8 6
我在 csv 中有另一个“数据文件”,如下所示。
Date Levels variable
3-Jan 1 15.25
3-Feb 5 13.09
3-Mar 25 14.21
3-Apr 26 13.65
3-May 27 12.79
3-Jun 27 15.65
在这个“数据文件”中,我在第 3 列中有水平,需要根据“参考数据”进行更改。这意味着如果“数据文件”中的级别为 1,我需要用“参考数据”中相应的深度值替换该值“1”,即 0.06。像那样,我想更改“数据文件”第二列中的所有值。
到目前为止,我已经尝试了 mapvalues
和 match
。但是运气不好。
我认为您想使用关卡合并两个数据集。然后对于每个日期你都会有 variable
和 depth
,你可以用它做你想做的事(包括用 depth
覆盖 level
,正如你建议的那样)。
library(tidyverse)
reference_data <- read_table("depth levels
0.06 1
0.19 2
0.33 3
0.48 4
0.63 5
0.8 6")
data_file <- read_table("Date Levels variable
3-Jan 1 15.25
3-Feb 5 13.09
3-Mar 25 14.21
3-Apr 26 13.65
3-May 27 12.79
3-Jun 27 15.65")
data_file %>%
left_join(reference_data, by = c("Levels" = "levels"))
#> # A tibble: 6 x 4
#> Date Levels variable depth
#> <chr> <dbl> <dbl> <dbl>
#> 1 3-Jan 1 15.2 0.06
#> 2 3-Feb 5 13.1 0.63
#> 3 3-Mar 25 14.2 NA
#> 4 3-Apr 26 13.6 NA
#> 5 3-May 27 12.8 NA
#> 6 3-Jun 27 15.6 NA
由 reprex package (v2.0.0)
于 2021-07-14 创建