当前位置: 首页 > 专利查询>扬州大学专利>正文

一种使用统计学函数的Excel数据统计方法技术

技术编号:22166144 阅读:81 留言:0更新日期:2019-09-21 10:15
本发明专利技术公开了计算机软件领域内的一种使用统计学函数的Excel数据统计方法,包括以下步骤:1)通过R的编译器RGui加载一个R的Web服务器接口Rook;2)在R里面搭建起Rook服务器;3)在R里面编写统计函数;4)统一R以及Excel编译环境VBA里的URL以及端口;5)通过Rook服务器建立Excel与R的连接;6)利用设计好的R内的统计函数作为统计工具,将Excel传过来的数据加以计算,并且将结果返回Excel,本发明专利技术通过利用R的计算能力,解决使用Excel及其内部统计功能和程序数值不准确的问题,可用于Excel中。

A Statistical Method of Excel Data Using Statistical Functions

【技术实现步骤摘要】
一种使用统计学函数的Excel数据统计方法
本专利技术涉及一种Excel数据统计方法,特别涉及一种使用统计学函数的Excel数据统计方法。
技术介绍
目前,Excel本身的计算能力不足以用于统计学的教学,学习以及科研,就算加上Excel之类的通用包也是不够的。通过调研,发现了Excel中使用MicrosoftData分析工具包的几种统计算法会产生错误的结果,例如使用Excel执行涉及相关独立变量的回归分析的问题。目前,有相当多的第三方Excel外接程序是为了解决Excel不足以满足需求或者是使用Excel的MicrosoftData分析工具包有错误而编写的。例如,Analyse-it,DataAnalysisPlus,FastStatistics,Lumenauto,NSEA,PHStat,PopTools,SigmaXL,statistiXL,StatTools,UNISTAT和XLSTAT。除了PopTools,它是专门为分析生态模型而编写的,这些加载项大都是商业产品,不具有开源的源码;这对于想要使用这些插件的用户,不是十分友好。R是用于统计分析、绘图的语言和操作环境;R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
技术实现思路
本专利技术的目的是提供一种使用统计学函数的Excel数据统计方法,通过利用R的计算能力,解决使用Excel及其内部统计功能和程序数值不准确的问题。本专利技术的目的是这样实现的:一种使用统计学函数的Excel数据统计方法,其特征在于,包括以下步骤:1)通过R的编译器RGui加载一个R的Web服务器接口Rook;2)在R里面搭建起Rook服务器;3)在R里面编写统计函数;4)统一R以及Excel编译环境VBA里的URL以及端口;5)通过Rook服务器建立Excel与R的连接;6)利用设计好的R内的统计函数作为统计工具,将Excel传过来的数据加以计算,并且将结果返回Excel。作为本专利技术的进一步限定,步骤2)中Rook服务器的搭建方法具体为:通过RGui加载Rook包,library(Rook),并且建立一个类,在这个类里面建立一个call方法,方法设置只能传一个参数或者一个对象,设置这个方法的返回值,返回值为一个列表,列表中包括三个元素:'status','headers'和'body';status:这是HTTP状态值,必须大于或等于100;headers:这是一个命名列表,其中包含仅与有效HTTP标头对应的字符串值;body:这是一个字符或原始矢量,如果字符向量以值'file'命名,则向量的值将被解释为文件的位置。作为本专利技术的进一步限定,步骤5)中Rook服务器与Excel、R的连接采用HTTP协议,将Rook服务器设置好后,在Rook服务器中,设置捕获Rook服务器上传来的命令以及数据的方法,并将该方法得到的结果传给body,在R中建立一个HTTP连接对象,在该对象上绑定地址以及端口,与VBA统一,再在该对象上调用getRefClass方法,得到R处理好的结果,最后将结果add在该对象上;在VBA中建立一个HTTP连接对象,在该对象上绑定地址以及端口,与R统一,传递方式为POST,该对象调用send方法,将VBA得到的数据,以及命令发送到Rook服务器,最后等待并得到Rook服务器的反馈。与现有技术相比,本专利技术的有益效果在于,将Excel的交互模式与R的统计计算功能结合起来,我们通过对R的函数进行设计,即重新编写统计学函数以及对R里面没有的函数扩充,通过利用R的计算能力,解决使用Excel及其内部统计功能和程序数值不准确的问题。附图说明图1为本专利技术中R与Excel通过Rook的交互方式。图2为本专利技术中需要开发的函数。图3为本专利技术中Excel中使用单个函数的界面。图4为本专利技术中所有函数集成界面。具体实施方式下面结合具体实施例对本专利技术做进一步说明。如图1所示一种使用统计学函数的Excel数据统计方法,包括以下步骤:1)通过R的编译器RGui加载一个R的Web服务器接口Rook;2)在R里面搭建起Rook服务器;3)在R里面编写函数;4)统一R以及Excel编译环境VBA里的URL以及端口;5)通过Rook服务器采用HTTP协议建立Excel与R的连接;6)利用设计好的R内的函数作为统计工具,将Excel传过来的数据加以计算,并且将结果返回Excel。下面举例说明本专利技术技术方案,本专利技术需要实现的函数,如图2所示。一、Rook服务器搭建Rook服务器的搭建是一个R引用类对象的应用程序,它实现一个'call'方法或一个R闭包,它只接受一个参数,一个环境,并返回一个包含三个命名元素的列表:'status','headers'和'body';程序1:Rook服务器搭建示例library(Rook)setRefClass('RNSE',methods=list(call=function(env){body=resultlist(status=200L,headers=list('Content-Type'='text/html'),body=body)}))library():加载Rook服务器包;TheSetRefClass:定义一个名字为RNSE的类;TheMethods:定义一个方法列表;TheStatus:这是HTTP状态值,必须大于或等于100;HTTP标头对应的字符串值;TheBody:这是一个字符或原始矢量,如果字符向量以值'file'命名,则向量的值将被解释为文件的位置。二、R语言函数设计和连接设置1.R语言函数设计,以unstack函数为例,函数用法my.unstack(InputDF):程序2:my.unstackmy.unstack<-function(InputDF){idx<-1browser()group.flag<-InputDF[1,idx]idx<-idx+1nvar<-InputDF[1,idx]idx<-idx+1xs<-InputDF[,idx:(idx+nvar-1),drop=FALSE]idx<-idx+nvarxg<-InputDF[,idx,drop=FALSE]g.name<-colnames(InputDF)[idx]if(!group.flag){xs<-cbind(as.data.frame(xs),as.data.frame(xg))}split(xs,xg)->split.onlevel=length(split.o)split.names<-names(split.o)split.oo<-NULLlevel.count<-vector("numeric",nlevel)for(iin1:nlevel){level.count[i]<-nrow(split.o[[i]])split.oo<-rbind(split.oo,as.data.frame(split.o[[i]]))#将不同level的dataframe合并}list(unstack=split.oo,nlevel本文档来自技高网...

【技术保护点】
1.一种使用统计学函数的Excel数据统计方法,其特征在于,包括以下步骤:1)通过R的编译器RGui加载一个R的Web服务器接口Rook;2)在R里面搭建起Rook服务器;3)在R里面编写统计函数;4)统一R以及Excel编译环境VBA里的URL以及端口;5)通过Rook服务器建立Excel与R的连接;6)利用设计好的R内的统计函数作为统计工具,将Excel传过来的数据加以计算,并且将结果返回Excel。

【技术特征摘要】
1.一种使用统计学函数的Excel数据统计方法,其特征在于,包括以下步骤:1)通过R的编译器RGui加载一个R的Web服务器接口Rook;2)在R里面搭建起Rook服务器;3)在R里面编写统计函数;4)统一R以及Excel编译环境VBA里的URL以及端口;5)通过Rook服务器建立Excel与R的连接;6)利用设计好的R内的统计函数作为统计工具,将Excel传过来的数据加以计算,并且将结果返回Excel。2.根据权利要求1所述的一种使用统计学函数的Excel数据统计方法,其特征在于,步骤2)中Rook服务器的搭建方法具体为:通过RGui加载Rook包,library(Rook),并且建立一个类,在这个类里面建立一个call方法,方法设置只能传一个参数或者一个对象,设置这个方法的返回值,返回值为一个列表,列表中包括三个元素:'status','headers'和'body';status:这是HTTP状态值,必须大于或等...

【专利技术属性】
技术研发人员:曹永忠顾浩汤佳杰郭雅璐
申请(专利权)人:扬州大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1