【发布时间】:2018-03-17 18:36:05
【问题描述】:
我正在尝试创建一个函数,该函数将接受字符串“mm/did/yyyy”的输入,并以月、日和年的数字形式返回输出向量。我本质上想将这个新函数与下面创建的 weekday() 函数结合起来,最终返回输入字符串对应的星期几。
weekday<-function(q,r,s)
{ (if(q>= 3)
m<-(q-2)
else
m<-(q+10))
k<-r
c<-floor(s/100)
(if(q>=3)
y<-s%%100
else
y<-(s%%100)-1)
f<-(floor((2.6*m)-0.2)+k+y+floor(y/4)+floor(c/4)-(2*c))%%7
if(f==0){return("Sunday")}
else
if(f==1){return("Monday")}
else
if(f==2){return("Tuesday")}
else
if(f==3){return("Wednesday")}
else
if(f==4){return("Thursday")}
else
if(f==5){return("Friday")}
else
if(f==6){return("Saturday")}}
我尝试使用类似于 type.convert 的东西,但这并没有产生所需的输出。任何帮助都会非常感谢!
dateconvert<-function("q/r/s")
{
type.convert(dateconvert(), na.strings = )
weekday(convertedanswer)
Return (weekday)
}
【问题讨论】:
-
R 具有将字符串转换为 POSIX 或日期时间格式的功能,然后您可以从该日期时间格式获取月、工作日、日、年或时间。你为什么不使用它?
-
奇怪的是,你的用户构建函数的复数版本包含在基础 R 中:
?weekdays。
标签: r