I think your problem starts with using date <- format(BIRD$DATUM, "%b %d")
. The format function returns a character value and lm() will, I think, order these alphabetically. Try using the yday function from the lubridate package which returns a number for the day of the year. For example, Feb. 20 is day 51.
BIRD$DATUM_NUM <- lubridate::yday(BIRD$DATUM)
and then fit WING to DATUM_NUM. I am not sure of the relationship between BIRD and SISKIN, so I cannot provide the exact code for the next step.