在 R 中合并数据集 - 用环境变量替换存在/不存在

问题描述 投票:0回答:1

我有一个环境变量数据集和一个存在缺席数据集。我想合并数据集并创建一个新的数据集,因此只要有 1 表示物种存在,它就会被环境变量替换。例如,在图片中,A 点有 1 条 poeciliid 和 1 条鲶鱼。我希望新数据集显示这两个物种的速度值 (0.18288),而不是 1。

两个数据集 - 存在/不存在和环境数据

我不知道从哪里开始......

r merge
1个回答
0
投票

您可以合并两个数据集,然后将值 1 替换为所有物种列中的速度:

library(tidyverse)

df1 <- tribble(
  ~site, ~poecilid, ~prawn,
  "A", 1, 0,
  "B", 1, 1,
)

df2 <- tribble(
  ~site, ~velocity,
  "A", 0.18288,
  "B", 0.1585
)


df1 |> 
  left_join(df2, join_by(site)) |> 
  mutate(across(!c(site, velocity), 
                \(x) if_else(x == 1, velocity, x))) |> 
  select(!velocity)
#> # A tibble: 2 × 3
#>   site  poecilid prawn
#>   <chr>    <dbl> <dbl>
#> 1 A        0.183 0    
#> 2 B        0.158 0.158

创建于 2024-07-16,使用 reprex v2.1.0

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.