当前位置: 首页 > news >正文

西部数据网站管理助手v3.0wordpress循环分类

西部数据网站管理助手v3.0,wordpress循环分类,网站建设 广,wordpress 5.2 5.3一、概要 数据操作是R语言的一大优势#xff0c;用户可以利用基本包或者拓展包在R语言中进行复杂的数据操作#xff0c;包括排序、更新、分组汇总等。R数据操作包#xff1a;data.table和tidyfst两个扩展包。 data.table是当前R中处理数据最快的工具#xff0c;可以实现快…一、概要 数据操作是R语言的一大优势用户可以利用基本包或者拓展包在R语言中进行复杂的数据操作包括排序、更新、分组汇总等。R数据操作包data.table和tidyfst两个扩展包。 data.table是当前R中处理数据最快的工具可以实现快速的数据汇总、连接、删除、分组计算等操作具有稳定、速度快、省内存、特性丰富、语法简洁等特点。由于其函数语法结构相对来说较为抽象对于初学者而言往往需要花更多的时间来掌握。 tidyfst包应运而生用以提高data.table代码的可读性和可维护性。tidyfst包参考了tidyverse体系的语法结构让用户能够见名知义同时其底层由data.table代码构成因此实现速度非常快。对于较为复杂的data.table操作tidyfst包提供了简便的调用函数进行实现。 资料来源《机器学习全解(R语言版)》 黄天元  2024年7月出版 二、数据读写 在data.table包中可以使用fread和fwrite函数对csv格式的文件进行读写。 如果需要保存规模较大的数据可以使用tidyfst包的import_fst和export_fst函数来进行数据读写其数据保存格式为以fst为扩展名的二进制文件。它的特点就是数据高保真、读写速度快和压缩效果好因此保存下来的fst文件往往要比csv格式占用内存更小。 library(pacman) p_load(tidyfst,data.table)fwrite(iris,D:/iris.csv) irfread(D:/iris.csv)export_fst(iris,D:/iris.fst) irimport_fst(D:/iris.fst)三、筛选列 1、选择需要的列 library(pacman) p_load(tidyfst,data.table) iras.data.table(iris) ir# 选取上面构造的数据框ir中的第1、3和4列以下两种写法等价 ir %% select_dt(1,3,4) #tidyfst ir[,c(1,3,4)] # data.table 2、选择连续的列 可以使用“:”符号 # 选择1到3列 ir %% select_dt(1:3) ir[,1:3] 3、根据变量名称选择单列 # 选择Sepal.Length列 ir %% select_dt(Sepal.Length) ir[,Sepal.Length] 4、根据变量名称选择多列 变量名称之间需要用逗号隔开  # 选择Sepal.Length和Petal.Length两列 ir %% select_dt(Sepal.Length,Petal.Length) ir[,c(Sepal.Length,Petal.Length)] 5、根据正则表达式筛选列 # 选择列名称包含“Sepal”的列 ir %% select_dt(Sepal) ir[,.SD,.SDcolspatterns(Sepal)] 6、利用特殊函数选择列 # 选择数据类型为因子的列 ir %% select_dt(is.factor) ir[,.SD,.SDcols is.factor] 7、排除列 排除一些列则可以在原来基础上加上减号来实现 # 排除Sepal.Length和Petal.Length这两列 ir %% select_dt(-Sepal.Length,-Petal.Length) ir[,-c(Sepal.Length,Petal.Length)] # 排除因子列 ir %% select_dt(-is.factor) ir[,.SD,.SDcols -is.factor] 四、筛选行 1、根据单个条件筛选行 # 筛选出Sepal.Length大于7的条目 ir %% filter_dt(Sepal.Length7) ir[Sepal.Length7] 2、多条件筛选行 如果要附加多个条件那么条件之间可以利用逻辑运算符与​、|或和非进行修饰和连接。 # 筛选Species列不为versicolor且Sepal.Length大于6的条目 ir %% filter_dt(Species ! versicolor Sepal.Length 6) ir[Species ! versicolor Sepal.Length 6] 3、tidyfst包中现成的筛选函数 slice_max_dt 获得Sepal.Length最大的10个条目 ir %% slice_max_dt(Sepal.Length,10) slice_min_dt 获得Sepal.Length最小的10个条目 ir %% slice_min_dt(Sepal.Length,10) slice_sample_dt 随机选择10个条目 ir %% slice_sample_dt(10) slice_dt 根据条目的位置来进行筛选。获得ir数据框的第100行 ir %% slice_dt(100)ir[100] 选择多行则可以使用数值向量。选出第100行到第105行 ir %% slice_dt(100:105)ir[100:105]unique 去重 ir %% unique() 五、更新 更新是指对数据框的一列或多列进行修饰或根据已有列构造新列。 mutate_dt新增常数列、修改列mutate_when按照一定的条件进行列的更新mutate_vars对多个列同时进行原位修饰 ir %% mutate_dt(one1) ir %% mutate_dt(Sepal.LengthSepal.Length1) ir %% mutate_when(Sepal.Width0.2,one1) ir %% mutate_vars(^Petal,function(x) x-1) 1、新增一列名为one的常数列其所有数值均为1 2、让Sepal.Length列的所有数值加1 3、在Petal.Width等于0.2的时候新增名为one的常数列 4、让列名称以Petal开头的列都减去1 六、排序 对数据框进行排序有两种方法一种是按照行进行排序另一种是按照列进行排序。 arrange_dt按列排序relocate_dt调整列的位置 ir %% arrange_dt(Sepal.Length) ir[order(Sepal.Length)]ir %% arrange_dt(Sepal.Length,Sepal.Width) ir[order(Sepal.Length,Sepal.Width)]ir %% arrange_dt(-Sepal.Length) ir[order(-Sepal.Length)]ir %% relocate_dt(Species,howfirst) ir %% relocate_dt(Species,howlast)ir %% relocate_dt(Petal.Length,how after,where Petal.Width)# 对列的位置进行重新排列 new_ordernames(ir)[c(3,2,4,5,1)] new_order ir[,.SD,.SDcols new_order]# 直接写上列名称 ir %% select_mix(Petal.Length,Sepal.Width,Petal.Width,Species,Sepal.Length) 1、按照Sepal.Length列从小到大进行排列 多列先按照Sepal.Length列进行排列然后再按照Sepal.Width列进行排列 2、从大到小进行排列在原来的变量之前加入负号 3、调整列的位置 把Species列放到第一列 把Sepal.Length列放到最后一列 七、汇总 汇总的过程是用较少信息表征较多信息的方法。 tidyfst包中使用summarise_dt函数来对数据框中的列进行汇总。 ir %% summarise_dt(avgmean(Sepal.Length)) ir %% summarise_dt(meanmean(Sepal.Length)) ir %% summarise_when(Petal.Width.2,avgmean(Petal.Length)) ir %% summarise_vars(2:4,sum) ir %% summarise_vars(is.numeric,sum) 八、分组计算 分组计算就是根据分组结果来对每一个组进行相同的操作。 在tidyfst包中很多函数都具有by参数by用来指定分组的变量。 如果需要对多个变量进行分组那么by参数的指定方式有以下几种 ●在by参数中放入字符串变量之间以逗号分隔如byvs,am​ ●在by参数中放入字符向量字符是分组的列名称如byc(vs,am)​ ●在by参数中放入一个指定分组变量的列表如bylist(vs,am)​。 ir %% summarise_dt(avgmean(Sepal.Length),bySpecies) ir %% summarise_vars(is.numeric,sum,bySpecies)mtas_dt(mtcars) mt mt %% summarise_dt(avgmean(mpg),byvs,am) mt %% summarise_dt(avgmean(mpg),byc(vs,am)) mt %% summarise_dt(avgmean(mpg),bylist(vs,am)) mt %% summarise_dt(avgmean(mpg),by.(vs,am)) 九、列的重命名 tidyfst包中使用rename_dt函数来对列进行重命名。对多个列进行重命名只要用逗号隔开即可。 ir %% rename_dt(slSepal.Length) ir %% rename_dt(slSepal.Length,swSepal.Width) ir %% rename_with_dt(toupper) ir %% setNames(paste0(V,1:5)) 十、多表连接 连接是指根据表格所包含的共同信息来对多个表格进行合并的过程。基本的连接可以分为内连接、全连接、左连接和右连接。 内连接又称为自然连接该操作会从结果表中删除与其他被连接表中没有匹配行的所有行只保留两个表格中都包含的数据条目。 全连接会保留所有表格的所有信息。 左连接则仅会保证左边即第一个出现的表格的信息会被完全保留右边第二个表格的信息只有与第一个表格的信息匹配的才能够保留。 右连接是左连接的逆运算即完全保留第二个表格的信息而第一个表格中只有与第二个表格的信息匹配的内容才能保留。 还有一种特殊的连接方式叫作过滤型连接它包括反连接和半连接。 半连接与左连接相似但是它只保留了左表格的所有列而右表格的列则不会放入结果。这相当于只提取了右表格的匹配列然后与左表格进行连接。 反连接则与半连接相反它会保留左表和右表对应列相异的部分。 workersfread(name companyNick AcmeJohn AjaxDaniela Ajax)positionsfread(name positionJohn designerDaniela engineerCathie manager)workers positionsworkers %% inner_join_dt(positions) workers %% merge(positions)workers %% full_join_dt(positions) workers %% merge(positions,all T)workers %% left_join_dt(positions) workers %% merge(positions,all.x T)workers %% right_join_dt(positions) workers %% merge(positions,all.y T)workers %% left_join_dt(positions,byname) workers %% merge(positions,all.x T,byname)positions2setNames(positions,c(worker,position)) workers positions2 workers %% inner_join_dt(positions2,byc(nameworker)) workers %% inner_join_dt(positions2,onnameworker) workers %% merge(positions2,by.xname,by.y worker)workers %% semi_join_dt(positions) workers %% anti_join_dt(positions) 十一、长宽转换 tidyfst包中的longer_dt函数实现将“宽数据”转换成“长数据”。 tidyfst包中的wider_dt函数实现“长数据”转成“宽数据”。 stocksdata.frame(timeas.Date(2009-01-01)0:9,Xrnorm(10,0,1),Yrnorm(10,0,2),Zrnorm(10,0,4) ) stocks# 转成长数据 stocks %% longer_dt(time) - long_stocks long_stocksstocks %% longer_dt(time,nameNAME,valueVALUE)# 转成宽数据 wide_stockeslong_stocks %% wider_dt(namename,valuevalue) wide_stockes 十二、集合运算 tidyfst包函数data.table包函数交集intersect_dtfintersect并集union_dtfunion差集setdiff_dtfsetdiff 注意tidyfst包会自动地把任意数据框转化为data.table格式。  十三、缺失值处理 1、删除缺失记录 na.omit函数可以删掉任意包含缺失值的行。 tidyfst包的drop_na_dt函数可以实现删除某一列中存在缺失值的条目。 2、缺失值填充 tidyfst包中的replace_na_dt函数实现填充指定的值。 tidyfst包的fill_na_dt函数实现将上一个观测值作为下面缺失的填充值。 tidyfst包中的impute_dt函数实现使用非缺失数值的均值、中位数或众数来对缺失值进行填充。 十四、列表列的应用 列表列(list column)是R语言中相对较新的一个概念它能够根据分组把一整块数据集成在一起成为一列而这个列的数据类型为列表(list)。在tidyfst包中可以使用nest_dt函数进行实现。
http://www.hkea.cn/news/14413876/

相关文章:

  • 网站长尾关键词排名软件2017年网站建设工作总结
  • 网站自适应与响应式网站建设的公司业务
  • 国内公司网站需要备案档案网站建设外包公司
  • 全景网站模版天猫交易购买平台
  • 山东平台网站建设制作长沙铭万做网站
  • 网站建设好就业吗网站改域名
  • 佛山网站域名过期网站建设招标方案
  • 阿里巴巴网站备案号浏览器app下载安装
  • 湖北网站建设模板下载oa系统全称
  • 还原wordpress站点地址恢复广州短视频代运营
  • 做贷款网站python php 网站开发
  • 中国铁路建设工程招标网站wordpress关键词内链图片
  • 北京营销型网站建设格尔木城乡建设规划局网站
  • 打开网站需要用户名密码太原做网站的
  • seo点击优化什么样的网站好优化
  • 陕西省工程建设交易服务中心网站网站用户体验模型
  • 长沙创建网络平台费用网站seo怎么做的
  • 新开的网站怎么做推广网站商务方案
  • synology建设网站提升学历教育
  • 太仓网站建设有限公司购物网站的功能板块
  • 河间市网站建设价格学校网站建设命名
  • 有哪些做共享充电宝的网站学做转手绘的网站
  • 建筑工程网站搭建服装网站建设项目实施报告范文
  • dedecms 金融类网站模板受欢迎的邢台做网站
  • 福州最好的网站建设网络公司企业网站服务器选择
  • 网站的首屏 一屏 二屏是什么意思360搜索网址是多少
  • 免费做简易网站wordpress添加心情
  • 自主建站护肤品主题网站怎么做
  • 国外做建材的网站有哪些北京网站开发制作公司
  • 厦门网站seo优化wordpress 新浪云