我需要一種方法來比較格式化爲這樣dd/mm/yyyy
與一個日期,當前字符串比較每個時,看起來像這樣yyyymmdd
字符串轉換爲Date類,格式DD/MM/YYYY
日期的矢量我需要R鍵創建一個變量分配100如果該語句是TRUE
和200,如果它是FALSE
爲了做到這一點,我創建了一個功能
tmp_ID
和tmp_MD
是我的日期矢量元素矢量
tgt_date
是,我需要比較單一日期
功能:
select_alive<-function(x){
tmp_ID <- as.Date(x$Issue.date,sep="","%d/%m/%Y")
tmp_MD <- as.Date(x$Maturity.date,"%d/%m/%Y")
tgt_date <- format.Date(as.Date(target_dates_54,"%Y%m%d","%d-%m-%Y"), "%d/%m/%Y")
Security.Status <-ifelse((tgt_date < tmp_MD) & (tgt_date >= tmp_ID), 100,200)
x<-cbind(x,Security.Status)
return(x)
}
功能應創建一個分配標誌100,如果tgt_date
下降tmp_ID
和tmp_MD
其他分配200,但標誌唐之間沒有正確分配。
Issue.date
和Maturity.date
屬於一個數據幀,並期待如下
Issue.date Maturity.date
06/11/2003 07/11/2033
01/04/2011 NA
03/02/2011 23/03/2012
02/01/2006 02/01/2011
19/11/2010 25/03/2011
target_dates_54
是字符串矢量包含日期
target_dates_54 <- c("20110131","20110228","20110331","20110430".....)
爲簡單起見讓我們假設,它僅包含一個字符串說"20110430"
所以在這種情況下tgt_date
和target_dates_54
是一樣的。
我需要R鍵藉此串並創建分配100到行的變量,其中"20110430"
落在Issue.date
範圍和Maturity.date
200應當以其它方式分配
我已確定了兩個可能的問題之間:
- ifelse可能不能夠比較一個日期與所述向量的每個元素
- 類的
tgt_date
需要被轉換成日期和格式應當DD /月/年
我還沒有找到解決任一問題的方法。任何建議非常感謝。 謝謝!
是'x'數據框的單行嗎?或者它是多行? tgt_date是單個值還是矢量? – rrs
x是數據框,tgt_date是單個值 – user3779916
爲什麼不發佈一些數據。 – rrs