计算R中值的实例

时间:2016-03-02 22:50:18

标签: r plot

 Data:-

 Date        Value
2010 Q1        x
2011 Q4        x
2010 Q1        x
2010 Q3        x
2015 Q2        x
2016 Q1        x
2015 Q1        x
2013 Q4        x
2012 Q3        x

我需要计算单个年份的点数并最终绘制它们。所以我编写了一个代码来完成这项工作,但它涉及对循环范围进行硬编码。

Code:-

require(zoo)
year=count=""
for (i in 2009:2016){
    year=c(year,i+1)
    count=c(count,length(data[which(data$Date>i & data$Date<i+1),1]))
}
year=year[2:length(year)]
count=count[2:length(count)]
plot(year,count)

Output:-
year    "2010" "2011" 2012" "2013" "2015" "2016"
count   "3" "1" "1" "1" "2""1"

我正在寻找基本上两件事的帮助。首先是如何概括代码,其次是我可以替换连接方法,因为我总是需要删除代码末尾的每个向量的第一个元素。感谢。

1 个答案:

答案 0 :(得分:2)

我就是这样做的(用一些示例值):

date <- c(2010, 2010, 2010, 2011, 2012, 2012, 2013, 2013, 2013)
value <- rep('x', times = 9)
dat <- data.frame(date, value)
dates = unique(dat$date)
count <- c()
for(i in 1:length(dates)){
    n <- length(which(dat$date == dates[i]))
    count[i] <- n
}
output <- data.frame(dates, count)

如果&#34;日期&#34;您的数据中的字段除了您不想要的年份之外的值,您可以使用gsub或其他方式将事先分离出来。