根据R中匹配的案例更改列

根据R中匹配的案例更改列,r,dplyr,data.table,tidyverse,R,Dplyr,Data.table,Tidyverse,我有一个data.frame,看起来像这样 data=data.frame(time=c(1,1,0.5,1), columnB= c(1,2,5,6), columnC= c(1,2,2,5)) 我想根据B列和C列的元素修改“时间”,例如 当B列的元素第一次出现在C列中时,“时间”即为 B列中5的值 我希望这不会让人困惑。任何帮助都将不胜感激 time columnB columnC 1.0 1 1 1.0 2 2 0.5

我有一个data.frame,看起来像这样

data=data.frame(time=c(1,1,0.5,1), columnB= c(1,2,5,6), columnC= c(1,2,2,5))
我想根据B列和C列的元素修改“时间”,例如 当B列的元素第一次出现在C列中时,“时间”即为 B列中5的值

我希望这不会让人困惑。任何帮助都将不胜感激

time  columnB  columnC  
1.0        1         1
1.0        2         2
0.5        5         2
0.5        6         5
我认为这就是您所要求的(它肯定会提供所需的输出):

在(数据,时间[match(columnC,columnB) 1  1.0       1       1
#> 2  1.0       2       2
#> 3  0.5       5       2
#> 4  0.5       6       5

由(v0.3.0)于2020年8月17日创建

我不理解问题和示例结果,如果第二个表格是示例结果……列
A
和列
time
也是一样的吗?谢谢@Bernhard和Edo的评论。他们帮助我以更好的方式编辑了我的问题。我认为Allan做得对,对我来说很有用“…基于B列和C列的元素,例如当B列的元素第一次出现在C列中时…”但是第1行和第2行呢?
columnB
在这两种情况下都是由
columnC
第一次匹配的。但是,
time
值不采用第3行的值(在您的示例中,
列B
为五的那一个)?
time  columnB  columnC  
1.0        1         1
1.0        2         2
0.5        5         2
0.5        6         5