Ваш переключатель (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:
...
Проще всего преобразовать его в POSIXlt и вычесть 2 из временного интервала.
> d <- as.POSIXlt(as.Date('2010/03/17'))
> d$year <- d$year-2
> as.Date(d)
[1] "2008-03-17"
См. Связанный с этим вопрос: Как вычесть дни в R? .
Таким образом, кажется, делает задание также
dt = as.Date("2010/03/17")
dt-365*2
[1] "2008-03-17"
as.Date("2008/02/29")-365*2
## [1] "2006-03-01"
С lubridate
library(lubridate)
ymd("2010/03/17") - years(2)
Вы можете использовать seq
:
R> dt = as.Date('2010/03/17')
R> seq(dt, length=2, by="-2 years")[2]
[1] "2008-03-17"