【发布时间】:2019-08-08 06:40:17
【问题描述】:
这可能是一个非常简单的问题,但我似乎无法弄清楚......
我有以下列表
l <- list(May=data.frame(date=c(NA, as.Date("2019/5/1"), NA, NA, NA, NA, as.Date("2019/5/2"), NA, NA, NA, NA, NA, NA, NA), ID = c( "107349", "110024", "6187" , "100420", "94436", "88995" , "110165" ,"91644", "108508", "105213", "108773", "102636" ,"102339" ,"100413")),
April = data.frame(date=c(as.Date("2019/4/1"), as.Date("2019/4/2"), NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, as.Date("2019/4/3"), NA, as.Date("2019/4/4"), NA, NA, NA, NA, NA), ID=c("37866", "107349", "93051", "6187", "98274", "100420", "94436", "88995" ,"105107", "105109", "91644", "105103" ,"108508" ,"105213", "108773", "85409" ,"104145","102636" ,"102339" ,"100413")),
March = data.frame(date= c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, as.Date("2019/3/1"), NA, NA, NA, NA, NA, NA), ID=c("93051" , "104499" ,"6187", "98274", "100420" ,"94436", "88995" ,"105107" ,"105109", "91644" ,"105103", "105213" ,"85409" , "104145", "100989", "102636" ,"102339", "100413")),
February = data.frame(date= c(NA , NA, as.Date("2019/2/1"), NA, NA, NA, NA ,as.Date("2019/2/2"), as.Date("2019/2/3"), as.Date("2019/2/4"), NA, as.Date("2019/2/5"), NA ,NA, as.Date("2019/2/6"), NA, NA, NA, NA, NA, NA, NA), ID=c("94266" , "93051", "104499" ,"6187" , "98274", "100420", "94436" ,"88995", "105107", "105109", "91644" ,"105103", "85409" ,"102252", "104145", "94559", "101426", "100992" ,"100989" ,"102636" ,"102339" ,"100413")),
January = data.frame(date = seq(as.Date("2019/1/1"), by = "day", length.out = 18), ID=c("94266" , "93051", "99836", "6187" , "98274", "100420", "94436", "91644", "85409", "102252", "94412", "94559", "101426", "100992", "100989", "102636", "102339", "100413")))
我正在尝试匹配一列(日期)中的特定值,如果另一列(ID)中的值相同,则将其替换为同一列中的相应值。 如果 ID 列中的相应 ID 值匹配,则日期列在所有数据帧中应该相同,但我只有 ID 首次出现的日期和 ID 的以下出现的 NA。
我尝试使用匹配和子集,但我无法弄清楚。
【问题讨论】:
-
为什么你的数据如此不一致?二月数据框的日期看起来像
17928,而一月数据框的日期看起来像2019-01-01。还有什么是 2 月数据框中的 `eRec`。 -
也没有真正理解你在这里想要实现的目标。您能否举例说明您希望获得的最终输出是什么?
-
@Adam Quek:日期不一致是因为某些日期列以
NA开头而不是有效日期,并且该列中的其余日期转换为数字。 -
@JorisChau 谢谢!我不知道 CRAN 会自动将日期列强制转换为数字列。很高兴知道。
标签: r