我有一张表格,上面有关于司机违规和违规价值的信息。我有两列Value(违规)和年(违规)。对于违规的每一年,我有几个值。年份从2000年到2014年。
我需要一个可以检索每个“预定”年份的违规总数的函数。即,当用户键入年份时,仅获取该年份的信息。到目前为止,我只能设法同时获取所有年份的信息
我试过了:
total_year <- function(x=infractions$year){
aggregate(infractions$value ~ infractions$year_deb, FUN=sum, na.rm = TRUE)
}
然后我输入
total_year(2012)
我每年都会收到一份违规表,但我只想要2012年的总数。
我的表格如下:
value year
375714 1,00 2011
375715 0,00 2012
375716 0,00 2013
375717 0,00 2014
375738 12,00 2011
375739 7,00 2012
375740 2,00 2013
375741 4,00 2014
375762 23,00 2011
375763 14,00 2012
375764 18,00 2013
375765 7,00 2014
375786 6,00 2011
375787 4,00 2012
375788 2,00 2013
375789 5,00 2014
375810 0,00 2011
375811 0,00 2012
375812 0,00 2013
答案 0 :(得分:0)
这是使用dplyr
数据强>
set.seed(123)
df <- data.frame(value = sample(c("speeding", "parking", "dui"), 45, replace = T),
year = rep(2000:2014, 3))
<强>功能强>
library(dplyr)
total_year <- function(data, x) {
data %>%
filter(year == x) %>%
group_by(year) %>%
summarize(inf = length(unique(value))) %>%
ungroup
}
<强>用法强>
total_year(df, 2014)
# year inf
# <int> <int>
# 1 2014 1