【发布时间】:2016-01-08 17:07:21
【问题描述】:
我写了一个函数来返回每年有多少鸟击。年份和罢工次数是正确的,但我的数据框的第一列有什么问题?为什么最后一行 Strikes 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
【问题讨论】:
-
你所说的第一列实际上是结果data.frame的row.names,它们显示了原始flightYears data.frame的行号。最后一列是
strikes NA NA,因为您使用rbind将其行绑定(附加)到罢工数据帧。 -
但是我该如何解决呢?我从数据集中提取日期,然后将年份保持为“flightYears”,我将该信息添加到问题中
-
为了告诉您如何修复它,您需要告诉我们这究竟意味着什么。您还没有准确描述您希望输出的内容。
-
我收到
Error: could not find function "mdy_hm",您的问题无法重现