【发布时间】:2020-05-29 13:50:14
【问题描述】:
我的 df 看起来像:
library(tidyverse)
df_1 <- tibble::tribble(
~sub_date, ~value_1, ~value_2,
"2020-05", 58, 130,
"2020-05", 58, "check",
"2020-03", 50, 120,
"2020-03", 55, "check",
"2020-03", 55, "check"
)
我想用此处的参考值更改包含“check”的行的值:
df_ref <- tibble::tribble(
~sub_date, ~ref_value,
"2020-05", 123,
"2020-03", 234
)
基本上 - 仅使用 df_ref 表作为包含检查的行的参考。
我想在 excel 中使用等价的 lookup(),在 if() 函数中使用。
最终结果是:
df_final <- tibble::tribble(
~sub_date, ~value_1, ~value_2,
"2020-05", 58, 130,
"2020-05", 58, 123,
"2020-03", 50, 120,
"2020-03", 55, 234,
"2020-03", 55, 234
)
【问题讨论】:
-
您似乎正在尝试加入。 dplyr.tidyverse.org/reference/join.html
-
我知道它是连接,但仅适用于行的子集,而不是整个数据框 @cory。当它应用于具有特定字符串的行时,我不明白该怎么做
-
是的,vlookup 实际上是一个非常糟糕的连接实现,如果你想看到完全错误的结果,你需要以某种方式过滤掉最重要的结果
-
好的,你明白了。将它分成两部分...加入以创建一个新列,然后将它的 ifelse 子放入您的列中。