首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据处理的R包

使用plyr包可以针对不同的数据类型,在一个函数内同时完成split – apply – combine三个步骤。...plyr包的主函数是**ply形式的,函数名的第一个字符代表输入数据的类型,第二个字符代表输出数据的类型,其中第一个字符可以是(d、l、a),第二个字母可以是(d、l、a、_ ),不同的字母表示不同的数据格式...plyr具体函数如下表所示: 函数名 输入值类型 输出值类型 aaply 数组/向量/矩阵 数组/向量/矩阵 adply 数组/向量/矩阵 数据框 aply 数组/向量/矩阵 列表 a_ply 数组/向量...列表 列表 l_ply 列表 无 _则表示没有输出,a_ply,d_ply和l_ply在plyr中运用不多。...,多参数传递的函数mdply、maply、和mlply (4)maply、mdply、和mlply m*ply函数语法 m*ply(data,fun = NULL,expand = TRUE,progress

4.7K20

R语言学习笔记之——数据处理神器data.table

处理:Rjson+RJSONIO——jsonlite 数据抓取:RCurl+XML——httr+xml2 循环任务:for/while——apply——plyr::a_ply——并行运算(foreach...data.table 1、I/O性能: data.table的被推崇的重要原因就是他的IO吞吐性能在R语言诸多包中首屈一指,这里以一个1.6G多的2015年纽约自行车出行数据集为例来检验其性能到底如何,...列索引的位置不仅支持列名索引,可以直接支持内建函数操作。 mydata[,.(flight/1000,carrier,tailnum)] 支持直接在列索引位置新建列,赋值符号为:=。...mydata[carrier %in% c("AA","AS"),.N] [1] 26876 .N是一个计数函数,相当于plyr中的count,或者基础函数中的length。...左手用R右手Python系列——数据合并与追加 长宽转换: 长宽转换仍然支持plyr中的melt/dcast函数以及tidyr中的gather/spread函数。

3.6K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    R数据分析大数据当中的化整为零(Split-Apply-Combine)策略

    最直观的过程是使用Loop循环。这里使用一个例子来讲解一下如何实现化整为零策略。在plyr包中有数据ozone,它是一个三维矩阵(24X24X72),其中最后一维72是指的6年12个月每个月的结果。...它的第二个参数是指的维度,如果你的array是一个二维矩阵,需要按横排的方式计算每一排的平均值,那么你的第二个参数就应该是1。如果需要按纵列的方式计算每一列的平均值,那么第二个参数就应该是2。...当然还可以使用c(1,2)这样的方式来设置第二个参数,就是并行计算每个值。第三个参数是需要应用的函数。之后的…是需要传入函数的其它参数。...从上面的比较中,我们很清楚的看到,sapply返回值的排列形式,以list的names为colnames。可以想象,它使用的是按列填充matrix的方式输出的。..., .variables, .fun, ..., .progress = "none")l*ply(.data, .fun, ..., .progress = "none") 我们可以看出,函数名称的第一个字母代表输入的形式

    1.3K80

    「R」分析之前的数据准备

    paste0(x, y, collapse = "#") ## [1] "aA#bB#cC#dE#eF" rbind 和 cbind rbind与cbind函数分别可以以增加行或列的形式将几个对象(矩阵或者数据框...apply函数簇 该内容参考【r<-高级|理论】apply,lapply,sapply用法探索[1]学习 plyr软件包 apply函数众多,参数也有些不同,幸运的是,我们可以使用plyr包来避免这些函数的细节...plyr包包含了12个命名与其功能有逻辑关联的函数,用于将某个函数运行在某个R对象上,并且返回结果。每个函数的输入都是一个数组、数据框或者列表,输出也都是一个数组、数据框或者列表,或者什么都不输出。...指定是否并行地运行函数(通过foreach) FALSE … 其他传递给.fun的参数 举几个例子: library(plyr) d <- data.frame(x=1:5, y=6:10) #...,也可以使用一个两列的矩阵,每一列表示一个特定的间距。

    1.4K30

    10个令人相见恨晚的R语言包

    1. sqldf R语言学习曲线中最陡峭的一部分就是语法,我花了一段时间才习惯使用如何实现VLOOKUP?!?R 对于一般的数据粗加工任务非常有用,但需要一段时间才能掌握。...在R中,apply函数族是在对列表或者向量每个元素调用函数的首选方法。虽然R基础库中有这些函数,但它们的使用可能难以掌握。...plyr 给予你一些函数 (ddply, daply, dlply, adply, ldply)按照常见的蓝图:将数据结构分组拆分,对每个组应用一个函数,将结果返回到数据结构中。...译者注:plyr包包含了12个命名与功能相关的函数,均以..ply命名,第一个.表示输入的数据类型(a数组 d数据框 l列表),第二个.表示输出的数据类型(_表示不输出) install.packages...ggplot2:数据分析与图形艺术 by Hadley Wickham (Amazon) 从Excel到ggplot的罗塞塔石碑 (Yaksis Blog) Hadley Wickham在Google的

    1.6K100

    如何高效地学好 R?

    , which等)、运算(+, -, *, / , %%, %/%等)、转换(as.*)、修改(edit, fix等)数据(包括单个数、行、列、表、变量),安装包、调用包以及session的保存。...c、然后就是reshape2包以及plyr包了,这是批量处理的两个利器,reshape主要是整形,plyr包基本提供了一套整理数据的理念,学好这两个包,批量处理将事半功倍。...grid绘图系统算是最基元的绘图命令,很多指令都是从画圆、直线、矩形开始的,这算是R里最好理解但也是最复杂的绘图系统。...甚至研究码源之后,你也会发现,很多批处理常用的函数的实现其实都是for,因此,有一派观点认为避免显式循环(特别是指采用apply函数、plyr包的方法避免显式循环),其实具有一定的误导性,其是否能提高效率也是要视情况而定...几个常用的批处理用的包 主要有: ●reshape(最好用的是melt) ●plyr(__ply族函数是最好用的,有一个很巧妙地逻辑,对于开发软件包的人来说学习这个包很有启发性;其次用ts比较多的人最好学一下

    1.3K50

    左手用R右手Python系列——使用多进程进行任务处理

    方案2——使用plyr包中的向量化函数 ###使用向量化函数 library("plyr") library("dplyr") library("foreach") mylist<-foreach(...x=1:nrow(mydata1),.combine='c') %do% list(mydata1[x,]) 这一句将报告的链接和标题构造成列表模式(l_ply支持输入的参数是列表) setwd("D..."),quiet=TRUE, mode = "wb") } url <- "https://mlab.toutiao.com/report/download/"system.time( l_ply...这次一共使用了……99.46,好吧,我可能用的假的多进程,不过总之总耗时少了不是嘛,从99.91到98.72,还是节省了将近1.19秒。...而且代码看起来又优雅了不少(好吧我编不下去了~_~) 对于R语言的多进程目前我还了解的不多,如果以后有新的理解会从新梳理这一块,感兴趣的也可以自行探索foreach这个包的内部多进程执行机制。

    1.1K90

    R-rbind.fill|列数不一致的多个数据集“智能”合并,Get!

    Q:多个数据集,列数不一致,列名也不一致,如何按行合并,然后保留全部文件的变量并集呢? A:使用 rbind.fill 函数试试!...数据集按列合并时,可以根据merge 或者 dplyr函数包的merge系列函数决定连接方式,达到数据合并的需求。...但是按行合并时常用的rbind,限制条件有点多,发现plyr包的rbind.fill 函数能比较好的解决这个问题。...2)列数相同的时候,变量名不一致也会合并,导致出错 二 rbind.fill“智能”合并 列数不一致多个数据集,需要按行合并,尝试使用plyr包rbind.fill函数 library(plyr) rbind.fill...呐,就是这样,rbind.fill函数会自动对应数据列名,不存在的会补充列,缺失时NA填充。

    2.9K40

    R语言第二章数据处理(9)数据合并

    ========================================= 日常工作中常见的需求之一便是数据框合并,在R语言中最常用的是基于Rbasa的merge函数方法,除此之外还可以借助plyr...和dplyr包中的join函数进行数据框的合并,它们数据框合并的原理同样是数据框的合并原理是这样的:首先在A数据框某一指定列的每一行内容在B数据框表的指定列进逐行匹配,直到A中所有行匹配完为止。...匹配的规则 first,只匹配y中的第一个记录 match,匹配y中所有记录 如何理解inne,left,right,可以看之前的博客: Python数据处理从零开始----第二章(pandas)(...函数 dplyr包是plyr包的升级,join函数在dplyr包中是个系列函数。...join为系列函数,包括inner_join、left_join、semi_join和anti_join函数 dplyr包的join函数似乎没有plyr包的join函数的match参数,只能进行所谓的

    2.4K20

    MLQuant:基于XGBoost的金融时序交易策略(附代码)

    对于此模型,我们只需从tsfeatures包中选择一些感兴趣的函数。...接下来,应用functions字符串从tsfeatures包中调用函数,将这些函数应用于样本analysis数据(每个数据包含100个观测值),这样,我们获得了一个折叠可以将其绑定在一起的观测值。...最后,我们使用bind_cols()将两个数据集的列绑定在一起。...之后,我们使用重命名chng变量并使用~str_c("X", seq_along(.))将时间序列特征变量重命名为更具动态性的变量,因此我们只需向functions字符串添加函数,而不必担心为了让模型起作用而单独重命名变量...10天如下: 我们可以看到,score列是具有最高预测概率的资产的概率,即它的价格比其前一个收盘价高。

    3K41

    独家 | 用于数据清理的顶级R包(附资源)

    plyr包 您需要安装plyr软件包以创建直方图,使用标准R功能来安装库。...这些是非常标准的代码,结构为str_trim(YOUR_DATA_FIELD),它只是删除了空格。 但是,如何消除我们直方图告诉我们的异常?...例如,此函数将完全消除所选数据列中缺少的值。 Na.omit(YOUR_DATA_COLUMN) 有类似的选项可以用0或N / A替换空白值,具体取决于字段类型,并提高数据集的一致性。...gather()函数采用多列并将它们收集到键值对中。举个例子,假设您有考试成绩数据。...这个函数允许你在R studio中编写SQL代码来选择你的数据元素 Janitor包 该软件包能够通过多个列查找重复项,并轻松地从您的数据框中创建友好列。

    1.4K21

    如何使用open3d合并多组mesh并输出结果

    因此本文带大家了解一下,如何重头写一个ply文件并且合并输出所有需要合并的m esh。 ▍如何存储一个带纹理的obj格式的mesh 这里我们首先介绍一下,怎么去存储一个mesh。...为了方便起见,我们统一填补所有不带纹理的mesh里缺失的列信息。具体如何填补我们稍后介绍。...▍如何读取并操作ply文件 ply文件本身是单纯的文本流,为了处理方便,这里我们使用python自带的plyfile进行处理,从而快捷的读取ply文件并转化为相应的numpy矩阵。...通过使用这些函数,可以顺利的修正所有的顶点与相对应的面的匹配关系,并且合并所有的ply文件。 ▍如何合并所有给定的ply文件 最后一步,我们尝试使用已有的代码来合并全部给定的ply文件。...从预处理好的顶点和面(也就是上面process_vertex和process_face的输出结果)上收集数据,然后统一写入新的ply文件。

    2.5K10

    【R语言】三种批量做T检验的方法

    ☞统计学知识大梳理 ☞100个统计学 & R语言学习资源网站 R语言里面也有专门做t检验的函数,t.test。...当我们手上有很多基因的时候,该如何做t检验会更有效率呢?今天小编就给大家介绍三个批量做t检验的方法。...其实这里我们是做了16次t检验才得到每个基因的p值的。 首先我们把16个m6a基因得表达谱读进来,最后一列为样本类型,也是我们待会做t检验时候的分组依据。...具体如何得到这个表达矩阵可以参考 ☞m6a甲基化相关基因boxplot并显示p值 #读取16个m6a甲基化相关基因在CHOL中的表达量 m6a_expr_type=read.table(file=...) %>% t_test(value ~ type) %>% adjust_pvalue(method = "fdr") 你会发现在这张表的最后两列,我们得到了原始的p值和经过FDR方法校正之后的

    1.8K51

    Linux基础指令(汇总)

    解释一下: man手册分为9章(不同系统可能会有差别) • 1是普通的命令 • 2是系统调⽤,如open,write之类的(通过这个,⾄少可以很⽅便的查到调⽤这个函数,需要加什么头⽂件) • 3是库函数...),mv命令将文件重命名或将其移至一个新的目录中。...当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或者目录重命名为给定的目录文件名。...功能:⽤于显⽰指定⽂件末尾内容,不指定⽂件时,作为输⼊信息进⾏处理。常⽤查看⽇志⽂件。...公历是现在国际通⽤的历法,⼜称格列历,通称阳历。“阳历”⼜名“太阳历”,系以地球绕⾏太阳⼀周为⼀年,为西⽅各国所通⽤,故⼜名“西历”。

    25510

    R语言从入门到精通:Day5

    第一种方法是通过赋值操作在数据框mydata中生成新的两列;第二种方法是通过attach函数加载mydata,赋值生成新的两列数据,再detach取消加载mydata数据框;第三种方法是通过transform...函数把数据列合并在一起。...相比于重编码,重命名就不那么神秘了,通过names()函数可以更改数据框的行名和列名。下面给大家举几个变量重命名的方法,大家可以自己动手试一下,感受一下这三个语句的效果。 ?...图5:变量重命名的方法。 *plyr包是一个集合了很多数据集操作函数的R包,大家可以查看其帮助文档进一步学习。 ?...此外,排序的函数还有sort()和rank(),可以自制试试看不同函数的用途哦。 ? 图13:函数order()的用法。 ? 6.数据集的按行、按列合并 有时候数据并不是一个整体,需要自己整合一下。

    1.6K30

    学习——理解指针(3)

    typedef关键字是用来类型重命名的,不如要定义应该无符号整型 unsigned int,但是写起来比较麻烦,这时就可以利用typedef来进行类型重命名, typedef unsigned...int uint; //将unsigned int 重命名为uint 这样重命名以后,就可以用uint来代替unsigned int。        ...2.重命名指针类型 typedef int* ptr_t;         3.重命名数组指针 当我们需要将数组指针类型 int(*)[5]重命名维parr_t时,就有所不同 typedef int(...*parr_t)[5]; //新的类型名必须在*的右边         4重命名函数指针类型 与数组指针一样,重命名函数指针时,也需要将新的类型名放在*的右边。...,同理呢,函数指针数组应该是存放函数指针的数组,那该如何定义呢?

    6310

    R语言︱list用法、批量读取、写出数据时的用法

    ——先定义list 2、如何定义写出时候的文件名字——paste函数 批量读取的基本流程就是:写入(list[[i]])、操作、写出 #1、读取xlsx中所有的sheet表格 #如果像vector一样定义...list是大规模数据操作非常优秀的方式,能够存放非结构化的文本数据。但是如果,文本分好词之后的数据(如下图),如何将存放在list中的数据进行导出呢?...——不等长合并 两种方法:c(),可以将list[1] 和list[2]进行直接合并,可以兼容不等长,当然合并之后,还有list文件; rbind.fill函数,不等长合并函数,在plyr包中。...#如何解决合并时数据不等长问题——两种方法:do.call函数以及rbind.fill函数(plyr包) #rbind.fill函数只能合并数据框格式 #do.call函数在数据框中执行函数(函数,数据列...) library("plyr") #加载获取rbind.fill函数 #第一种方法 list1<-list() list1[[1]]=data.frame(t(data.frame(Job_Pwordseg.ct

    17.8K52

    R实战——大众点评-汉拿山评论情感浅析

    本人也不知道如何处理,正好最近在学R语言,于是就想到了不如通过R语言编写个简单的爬虫抓取大众点评上评论,参考其他店的回复和处理方式。爬取了数据,又可以拿来练手,做个简单的情感分析。...,主要的R包有plyr 情感分析采用最基础的词典型情感分析。...在第一部分,我们获取的数据框中包含了一列star的数据,这个数据就是每条评论对应的星级数,范围从1星到5星,我们规定1到3星为负向情感,标记为-1,4星和5星为正向情感,标记为1。...使用join()函数将df.emotion数据框和emotion数据框通过"word"列结合,看得出来,在emotion数据框(情感词典)中只含有少部分词组与df.emotion数据框匹配上,比如id为...计算每个ID(文档)的得分,aggregate()函数将score列按id分类并计算总和。

    1.3K101
    领券