根据R中匹配的案例更改列
我有一个data.frame,看起来像这样根据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=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