[英]R identifying first value in data-frame and creating new variable by adding/subtracting this from all values in data-frame in new column
[英]How to update new column in data-frame with specific column from another data-frame with duplicated in r?
大家好,我的 df1 看起来像
MNO DOB
123 NA
123 NA
234 NA
234 NA
345 NA
456 NA
456 NA
我的 df2 有
MNO DOB
123 22-04-1996
234 16-06-1994
345 05-05-1990
456 18-08-2000
我使用合并来使用 df3 <- merge(df1,df2,by.x = "MNO",all.x = TRUE)
我得到的输出看起来像
MNO DOB
123 22-04-1996
123 NA
234 16-06-1994
234 NA
345 05-05-1990
456 18-08-2000
456 NA
预期成绩 :
MNO DOB
123 22-04-1996
123 22-04-1996
234 16-06-1994
234 16-06-1994
345 05-05-1990
456 18-08-2000
456 18-08-2000
根据显示的示例,列应该由同一列“MNO”合并,因此我们可以使用by
而不是by.x
merge(df1[1], df2, by = "MNO", all.x = TRUE)
# MNO DOB
#1 123 22-04-1996
#2 123 22-04-1996
#3 234 16-06-1994
#4 234 16-06-1994
#5 345 05-05-1990
#6 456 18-08-2000
#7 456 18-08-2000
如果“DF3”的输出是基于一个不同的代码,所述后merge
步骤中,我们可以fill
从tidyr
来填充先前的非NA NA的元素
library(tidyr)
library(dplyr)
df3 <- df3 %>%
fill(DOB)
使用带有roll=T
选项的data.table
另一种解决方案:
merge(dx[,list(MNO)],dx2,roll=TRUE)
MNO DOB
1: 123 22-04-1996
2: 123 22-04-1996
3: 234 16-06-1994
4: 234 16-06-1994
5: 345 05-05-1990
6: 456 18-08-2000
7: 456 18-08-2000
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.