Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.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_Date - Fatal编程技术网

R中的消歧日

R中的消歧日,r,date,R,Date,我有一个特定的开始时间和一周中特定的一天 start = as.POSIXct(1234567, origin = "1970-1-1") format(start, format = "%A %c") target1 = "TUE" target2 = "Wednesday" 我想要的是找到开始后的第一天,它与一周中相应的一天相匹配。(希望用户可以灵活地输入一周中的哪一天目标)有什么想法吗?我想一个字符串查找表可能有用,但一定有一个更整洁的方法 如果可以将解决方案矢量化,则可获得额外积分……

我有一个特定的开始时间和一周中特定的一天

start = as.POSIXct(1234567, origin = "1970-1-1")
format(start, format = "%A %c")
target1 = "TUE"
target2 = "Wednesday"
我想要的是找到开始后的第一天,它与一周中相应的一天相匹配。(希望用户可以灵活地输入一周中的哪一天目标)有什么想法吗?我想一个字符串查找表可能有用,但一定有一个更整洁的方法


如果可以将解决方案矢量化,则可获得额外积分……

我还没有尝试将其矢量化(不确定是否可以),但这里有一个尝试:

find_day <- function(start,target){
    target <- tolower(target)
    next_week <- as.Date(start) + 1:7
    next_week[match(target,substr(tolower(weekdays(next_week)),1,nchar(target)))]
}

伟大的我认为将target first截断为min(nchar(target))的变体将进行矢量化。
> find_day(start,"TUE")
[1] "1970-01-20"
> find_day(start,"friday")
[1] "1970-01-16"