Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中查找_R - Fatal编程技术网

如何在R中查找

如何在R中查找,r,R,我有两个理由: df1 <- data.frame(DTS = c(as.Date("2009-12-12"), as.Date("2012-12-12") , as.Date("2015-3-4"), as.Date("2018-7-9")),score= c(10,7,3,8)) df2 <- data.frame(DTS = c(as.Date("2009-12-14"),

我有两个理由:

df1 <- data.frame(DTS = c(as.Date("2009-12-12"), as.Date("2012-12-12") , as.Date("2015-3-4"), 
as.Date("2018-7-9")),score= c(10,7,3,8))

df2 <- data.frame(DTS = c(as.Date("2009-12-14"), as.Date("2013-09-12") ,as.Date("2014-09-12"),  
as.Date("2015-3-4"),as.Date("2016-05-05"), as.Date("2019-12-12")))

df1当
df1
中的
DTS
被排序时,可以使用
findInterval

df2$score <- df1$score[findInterval(df2$DTS, df1$DTS, left.open=TRUE)]
df2
#         DTS score
#1 2009-12-14    10
#2 2013-09-12     7
#3 2014-09-12     7
#4 2015-03-04     7
#5 2016-05-05     3
#6 2019-12-12     8

df2$分数相关/可能重复:不重复,因为我的问题没有匹配的日期。请用文字解释分数应该是什么,而不是你自己不觉得优雅的代码?分数是正确的。。我就是不喜欢这些圈。。我在做什么,有函数吗?
df2$score <- df1$score[findInterval(df2$DTS, df1$DTS, left.open=TRUE)]
df2
#         DTS score
#1 2009-12-14    10
#2 2013-09-12     7
#3 2014-09-12     7
#4 2015-03-04     7
#5 2016-05-05     3
#6 2019-12-12     8