Как вычесть годы?

Ваш переключатель (TRUE) должен использовать поле с высотой, вероятно, что-то вроде кода ниже:

switch ($row['ssh'] ) { 
case '2-3Meters' : {
   $pdf->SetFillColor(204, 153, 0); 
   $pdf->Cell($row['ssh'], 1, 1, 'L', TRUE); 
   break; 
}
case '1-2Meters' : {
    $pdf->SetFillColor(255, 255, 0); 
    $pdf->Cell($row['ssh'], 1, 1, 'L', TRUE); 
    break; 
}
case  '<1Meter' : {
    $pdf->SetFillColor(51, 153, 255); 
    $pdf->Cell($row['ssh'], 1, 1, 'L', TRUE); 
    break; 
}
default:
...
41
задан Jaap 23 October 2017 в 15:59
поделиться

4 ответа

Проще всего преобразовать его в POSIXlt и вычесть 2 из временного интервала.

> d <- as.POSIXlt(as.Date('2010/03/17'))
> d$year <- d$year-2
> as.Date(d)
[1] "2008-03-17"

См. Связанный с этим вопрос: Как вычесть дни в R? .

47
ответ дан 27 November 2019 в 00:07
поделиться

Таким образом, кажется, делает задание также

dt = as.Date("2010/03/17")
dt-365*2
[1] "2008-03-17"

as.Date("2008/02/29")-365*2
## [1] "2006-03-01"
1
ответ дан 27 November 2019 в 00:07
поделиться

С lubridate

library(lubridate)
ymd("2010/03/17") - years(2)
66
ответ дан 27 November 2019 в 00:07
поделиться

Вы можете использовать seq :

R> dt = as.Date('2010/03/17')
R> seq(dt, length=2, by="-2 years")[2]
[1] "2008-03-17"
24
ответ дан 27 November 2019 в 00:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: