R语言多个for循环嵌套使用

R语言多个for循环嵌套使用R 语言 多个 for 循环联合使用提高数据处理效率

最近在整理本区域历年的人口数据,需要将其整理为SAS程序分析需要的格式。原始人口数据格式如下:原始数据
需转化的格式:
待分析用
发现通过Excel一个一个粘贴转换比较麻烦,于是尝试运用多个for循环嵌套使用提高转换效率,代码如下:






library(dplyr) library(stringr) library(readxl) library(openxlsx) mydata<-read_excel("population.xls",header=T) names(mydata)<-c("year","sex","age","pop") nn<-table(mydata$year)%>%names() 将原始数据读入list数据集存放 kk<-list() for(i in 1:length(nn)){ 
    kk[[i]]<-filter(mydata,year==nn[i]) } 创建新数据集列名 rn<-paste0("F",1:19) cn<-c("man","woman") tt<-list() 在list中创建多个矩阵 for(i in 1:length(kk)){ 
    tt[[i]]<-matrix(0,length(rn),length(cn),dimnames = list(rn,cn)) } 嵌套多个for循环,相当于在每个list条目中不断嵌套新的matrix矩阵数据集 for(w in 1:length(kk)){ 
    for(i in 1:length(rn)){ 
    for(j in 1:2){ 
    tt[[w]][i,j]<-filter(data.frame(kk[[w]]),sex==j,age==age[i])$pop } } } 循环转置 ll<-list() for(i in 1:length(kk)){ 
    ll[[i]]<-t(tt[[i]]) } 导出到excel names(ll)<-c(paste0("year",2013:2015)) write.xlsx(ll,file="pop_transform.xlsx",rowNames=T) 

输出结果:
输出结果

通过多个for循环嵌套使用,能够有效提高数据处理的效率。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219705.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午10:04
下一篇 2026年3月17日 下午10:05


相关推荐

  • 区分一下驻点和极值点以及最值-一元

    区分一下驻点和极值点以及最值-一元驻点和极值点驻点和极值点的区别 如果函数不可导的话那么他们没有关系如果函数可导的话 那么驻点不一定是极值点 但是极值点一定是驻点这里说明一下就是极值点要不就是不可导点要不就是驻点 如果函数可导的话 那么极值点就是驻点了 但是驻点不一定是极值点比如 x 3 驻点就是导函数为 0 的点 那么 x 3 导函数在 0 0 处就是 0 但是不是极值点如果是最值和极值的关系呢这里表明一下 就是最值一不定是极值 因为如果是在区间断点处就不是极值了 但是如果在区间内部的话就是极值然后求最值的 3 步如图上还有这里的注意就是

    2026年3月19日
    2
  • 更改dede网站地图模板样式

    更改dede网站地图模板样式

    2021年9月23日
    60
  • C–C语言中volatile关键字的作用[通俗易懂]

    C–C语言中volatile关键字的作用[通俗易懂]转载:http://blog.csdn.net/tigerjibo/article/details/7427366一.前言1.编译器优化介绍:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高

    2022年5月8日
    42
  • 基于深度学习的视频识别方法概览

    基于深度学习的视频识别方法概览来源:阿里云安全 作者:深度学习在最近十来年特别火,几乎是带动AI浪潮的最大贡献者。互联网视频在最近几年也特别火,短视频、视频直播等各种新型UGC模式牢牢抓住了用户的消费心里,成为互联网吸金的又一利器。当这两个火碰在一起,会产生什么样的化学反应呢?  不说具体的技术,先上一张福利图,该图展示了机器对一个视频的认知效果。其总红色的字表示objects,蓝色的字表示scenes

    2022年5月2日
    35
  • Claude Code 完整指南(一):安装、CLI 实战、IDE 集成一次讲透

    Claude Code 完整指南(一):安装、CLI 实战、IDE 集成一次讲透

    2026年3月16日
    3
  • 基础工具之消息队列、线程池、缓冲区抽象、事件循环和日志实现

    正所谓“工欲善其事,必先利其器”,我们在实现通信设计任务的过程中需要一些基础工具来帮助我们搭建部分基础组件,这些基础工具包括消息队列,线程池,缓冲区抽象,事件循环和日志工具。接下来对这部分基础工具进

    2021年12月28日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号