我有一个环境变量数据集和一个存在缺席数据集。我想合并数据集并创建一个新的数据集,因此只要有 1 表示物种存在,它就会被环境变量替换。例如,在图片中,A 点有 1 条 poeciliid 和 1 条鲶鱼。我希望新数据集显示这两个物种的速度值 (0.18288),而不是 1。
我不知道从哪里开始......
您可以合并两个数据集,然后将值 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