#将数据按照月份划分
#假如数据框是data,第一列是数据,第二列是日期(格式是2014-01),第三列是地名(local),第四列是产业名(product)
ds<-sort(as.character(unique(data[,2])))#将所有的日期提取出来,形成可能出现的月份,并排序
m1<-length(ds)
data2<-list()
for(k in 1:m1){
   dv<-data[data[,2]==ds[k],]#每个月的数据
   data2[[k]]<-dv[order(dv[,3]),]#将每个月的数据按照地理名称(默认是汉语拼音首字母)排序
}
#这样就得到了每个月的数据,而且是按照地理名称排名的

#接下来就得到各个季度的季度值(季度值是累加的,如第二季度其实是前六个月的累计值)
#先将数据按照各个季度合在一起
#首先将月份数据转化为季度数据
m2<-m1/3#每个季度三个月
data3<-list()
for(k in 1:m2)
 data3[[k]]<-rbind(data2[[3*k-2]],data2[[3*k-1]],data5[[2*k]])

#再算出各个季度的当季(三个月,比如:第二季度其实是6,7,8三个月)数据
fun1<-function(data3){
    data3<-data3[order(data3[,3]),]#按照地理名称排名
    dm1<-unique(data3[,3]);#地名
    dv5<-c()
    for(i in 1:length(dm1)){
      dv2<-data3[data3[,3]==dm1[i],]
      dm2<-unique(dv2[,4])#产业名
      dv4<-c()
      for(j in 1:length(dm2)){
        dv3<-c(dm1[i],dm2[j],sum(as.numeric(dv2[dv2[,4]==dm2[j],1])))
        dv4<-rbind(dv4,dv3)
      }
      dv5<-rbind(dv5,dv4)
    }
    return(dv5)#这样得到的数据格式为(“地名”,“产业名”,数据)
  }
data4<-list()
  for(k in 1:m2)
    data4[[k]]<-fun1(data3[[k]])#得到数据的当期值

#最后计算出季度值(累积值)
data5<-rbind(data4[[1]],data4[[2]])#2季度合并
data6<-rbind(data4[[1]],data4[[2]],data4[[3]])#3季度合并
data7<-rbind(data4[[1]],data4[[2]],data4[[3]],data4[[4]])#4季度合并
  
data8<-fun1(data6)#2季度累积值
data9<-fun1(data6)#3季度累积值
data10<-fun1(data7)#4季度累积值

data_q<-list(data4[[1]],data8,data9,data10)#四个季度的累积值
#需要注意,其实每年的第四个季度的累积值就是年份数据,所以就不用都说了哈

#将同一地区的数据累加
#自己编写的函数

data11<-list()
for(k in 1:m2){
  dm<-unique(data_q[[k]][,1])
  dv2<-numeric(length(dm))
  for(i in 1:length(dm)){
    dv2[i]<-sum(as.numeric(data_q[[k]][data_q[[k]][,1]==dm[i],3]))#将某个地名的数据累加求和
  }
  data11[[k]]<-dv2

}
#利用reshape2包
library(reshape2)#先安装该包,再library
data12<-dcast(data_q,local~product,sum);#以变量local作为行,product作为列输出数据

R语言-将数据按照月份、季度、年份划分及求某个代码(地名、产业名等)对应的累积值相关推荐

  1. 大数据分析R语言tidyverse数据清洗工具教程

    凌乱的数据集无处不在.如果要分析数据,不可避免地需要清理数据.在大数据分析R语言tidyverse数据清洗工具教程中,我们将研究如何使用R和一些漂亮的tidyverse工具来做到这一点. 该tidyv ...

  2. R语言生物群落数据统计分析

    R 语言作的开源.自由.免费等特点使其广泛应用于生物群落数据统计分析.生物群落数据多样而复杂,涉及众多统计分析方法.本文以生物群落数据分析中的最常用的统计方法回归和混合效应模型.多元统计分析技术及结构 ...

  3. R语言进行数据聚合统计(Aggregating transforms)计算滑动窗口统计值(Window Statistics):使用R原生方法、data.table、dplyr等方案、计算滑动分组统计

    R语言进行数据聚合统计(Aggregating transforms)计算滑动窗口统计值(Window Statistics):使用R原生方法.data.table.dplyr等方案.计算滑动分组统计 ...

  4. R语言进行数据聚合统计(Aggregating transforms)实战:使用R原生方法、data.table、dplyr等方案、计算分组均值并添加到可视化结果中

    R语言进行数据聚合统计(Aggregating transforms)实战:使用R原生方法.data.table.dplyr等方案.计算分组均值并添加到可视化结果中 目录

  5. R语言dataframe数据列中的缺失值NA的个数统计实战:特定数据列的NA值统计、所有特征的NA值统计

    R语言dataframe数据列中的缺失值NA的个数统计实战:特定数据列的NA值统计.所有特征的NA值统计 目录

  6. R语言将数据列中的多种日期格式统一变化为一种固定格式实战:使用lubridate包中的parse_date_time函数

    R语言将数据列中的多种日期格式统一变化为一种固定格式实战:使用lubridate包中的parse_date_time函数 目录

  7. R语言dataframe数据列格式转换(从整型integer转化为浮点型float)

    R语言dataframe数据列格式转换(从整型integer转化为浮点型float) 目录 R语言dataframe数据列格式转换(从整型integer转化为浮点型float)

  8. 用R语言把数据玩出花样

    用R语言把数据玩出花样 数据处理 R 去重 数据可视化 阅读759  R语言作为统计学一门语言,一直在小众领域闪耀着光芒.直到大数据的爆发,R语言变成了一门炙手可热的数据分析的利器.随着越来越多的工程 ...

  9. r语言数据变量分段_使用R语言实现数据分段

    使用R语言实现数据分段 今天跟大家讲讲我工作中用到的数据分段,数据分段一般在什么地方会使用到呢?评分.之前写过一篇<实战: RFM>模型使用,那篇文章就详细介绍了CRM(客户关系管理)分析 ...

最新文章

  1. mysql所有表查询
  2. linux 忘记密码(以centos6为例)
  3. 图像模糊--快速均值滤波
  4. php加密后无法读取,无法解密的php加密文件
  5. Redis学习总结(18)——Redis 常见的使用场景汇总
  6. 文档转换html6,html学习文档-6、HTML 文本格式化(示例代码)
  7. ITAA学员的经典对白
  8. sql studio索引超出了数组界限
  9. Edge浏览器+百度翻译:识别图片类PDF中的文字并翻译
  10. CAD2004软件从下载安装到学习CAD教程(后台菜单自助更多)
  11. DSP2812入门2——结构资源性能
  12. SpringCloud、RabbitMQ、Websocket集群搭建以及集群通信
  13. 一二线城市互联网公司汇总,助你拿高薪!
  14. 腹肌锻炼视频(01):四种方法打造完美腹肌
  15. LR 的上传文件与下载文件
  16. abs绝对位置指令 三菱plc_三菱FX系列PLC方便指令的使用方法
  17. React框架+cesium加载GeoWebCache发布4326WMTS服务的ArcGIS切片图层请求400问题
  18. 怎么开淘宝网店?淘宝网开店流程图解,淘宝开店教程!
  19. java 中文转码_java 下载文件中文名称转码详解
  20. 如何选择适合你的兴趣爱好(三十三),国画

热门文章

  1. linux java 僵尸进程_Linux 系统中僵尸进程
  2. 在try-catch机制优化IO流关闭时,OutputStreamWriter 数据流被截断 新语法
  3. 滴水逆向——指针07课堂随笔
  4. 爆肝一周,用Python在物联网设备上写了个智能语音助手
  5. Opencv3.0 手写数字识别(Hog特征+SVM分类器)
  6. 《移动App测试实战》——1.2 测试用例设计和评审
  7. android 错误记录Attempt to invoke virtual method ‘void android.view.View.setVisibility(int)‘
  8. MD5简介及使用方式
  9. ORACLE12.1.0.2.0标准版下载地址
  10. 如何在年薪10万的上班族让自己第二年达到20万以上?