Я написал функцию, чтобы вернуть количество ударов птиц за каждый год. Годы и количество ударов верны, но что случилось с первым столбцом моего кадра данных? и почему последняя строка поражает NA NA?Почему моя функция возвращает странный фрейм данных
flightDates <- mdy_hm(birds[,10])
flightYears <- as.factor(year(flightDates))
years <- (c(2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011))
strikesPerYear <- function(x){
strikes <- c(NA, NA)
for(i in years){
countStrikes <- length(which(x == i))
strikes <- data.frame(rbind(cbind("Year"=i, "NumStrikes"=as.numeric(countStrikes)), strikes))
}
return(strikes)
}
strikesPerYear(flightYears)
> strikesPerYear(flightYears)
Year NumStrikes
1 2011 10483
110 2010 10923
19 2009 10741
18 2008 8903
17 2007 8746
16 2006 8010
15 2005 7804
14 2004 7667
13 2003 6664
12 2002 6769
11 2001 6287
2000 6407
strikes NA NA
То, что вы называете первым столбцом, это фактически строка.names результата data.frame, и они показывают номера строк исходного кадра данных. Последний столбец 'strikes NA NA', потому что вы используете' rbind' для строки, связывающей его (append) с удалением data.frame. – LyzandeR
, но как это исправить? Я вытаскиваю даты из набора данных, а затем просто сохраняю год как «летный год». Я добавил эту информацию на вопросы –
Чтобы рассказать вам, как ее исправить, вы должны сказать нам, что именно это означает. Вы точно не указали, что вы хотите получить. – joran