我正在製作一個函數,輸出一週中的某天,給定自1970年1月1日以來的天數。當它是一個if then
語句鏈時,該函數正常工作,但我想在向量上使用該函數,所以我需要構建這條愚蠢的ifelse
語句鏈。嵌套的ifelse語句中未使用的參數錯誤
不幸的是,我不斷收到此錯誤:
Error in ifelse(rem == 0, day = "Thursday", ifelse(rem == 1, day = "Friday", :
unused argument(s) (day = "Thursday")
Calls: dayFinder -> ifelse
Execution halted
我一直無法弄清楚如何繞過它 - 它看起來像它只是忽略了ifelse
聲明then
一部分。我嘗試給它提供各種樣本數據集或數據點,並且無法修復錯誤。
這是我的代碼 - 在此先感謝。
dayFinder <- function(x){
#Assuming that '0' refers to January 1 1970
#Store given number
start <- x
#Initialize variable
day="Halloween"
#Divide x by 7 and store remainder
rem <- x%%7
#Determine the day
ifelse(rem==0, day="Thursday",
ifelse (rem==1, day="Friday",
ifelse (rem==2, day="Saturday",
ifelse (rem==3, day="Sunday",
ifelse (rem==4, day="Monday",
ifelse(rem==5, day="Tuesday",
if (rem==6)
{
day="Wednesday"
}))))))
return(day)
}
q = seq(7,50,1)
z = dayFinder(q)
z
看過這個嗎? [在R中查找一週的日子](http://stackoverflow.com/questions/9216138/find-the-day-of-a-week-in-r)。應該很簡單,將您的天數數值轉換爲可以輸入到「平日」中的真實日期值。一般來說,如果有一個基本函數滿足您的需要,那麼它可能比您或我會寫的更仔細。 – Backlin
由於他們一再重複地在dailywtf寫道,如果你想執行一些明顯的任務,這是肯定的,別人已經這樣做了。因此,在普通的R軟件包中相對容易地搜索日期/時間函數:-) –