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

R语言基因组数据分析可能会用到的data.table函数整理

版权声明:本文为博主原创文章,转载请注明出处 R语言data.table包是自带包data.frame的升级版,用于数据框格式数据的处理,最大的特点快。...包括两个方面,一方面是写的快,代码简洁,只要一行命令就可以完成诸多任务,另一方面是处理快,内部处理的步骤进行了程序的优化,使用多线程,甚至很多函数是使用C写的,大大加快数据运行速度。...因此,在对大数据处理上,使用data.table无疑具有极高的效率。这里主要介绍在基因组数据分析中可能会用到的函数。...C代码 data.table TRUE返回data.table,FALSE返回data.frame 可见1.8GB的数据读入94秒,读入文件速度非常快 fwrite 对数据数据进行处理后...manual: https://cran.r-project.org/web/packages/data.table/data.table.pdf

3.3K10

R语言︱情感分析—基于监督算法R语言实现(二)

构建随机森林模型时需要将每一个词汇作为一个变量或者维度,这样矩阵会变得异常稀疏,但我们先不讲究这些,在企业内做数据挖掘建模时,第一目标不是追求模型统计的完美性,而是在测试和训练的稳定性和准确性。...也就是一定意义的稀疏矩阵(同关联规则),也就是将long型数据框转化为wide型数据框。 转换可以用的包有reshape2以及data.table。...其中,data.table里的`dcast`函数比reshape2包里的`dcast`好用,尽管他们的参数都一样,但是很多人还是比较喜欢老朋友reshape2包,然而这一步需要大量的内存,本书在服务器完成的...,如果你的电脑报告内存不足的错误,可以使用data.table包里的`dcast`函数试试。...可见:R语言︱机器学习模型评估方案(以随机森林算法为例) 本文大多学习之《数据挖掘之道》,还未出版,摘录自公众号:音如霜,感谢老师的辛勤,真的是非常用心的在写代码以及服务大众。

1.7K20
您找到你想要的搜索结果了吗?
是的
没有找到

文本情感分析:特征提取(TFIDF指标)&随机森林模型实现

构建随机森林模型时需要将每一个词汇作为一个变量或者维度,这样矩阵会变得异常稀疏,但我们先不讲究这些,在企业内做数据挖掘建模时,第一目标不是追求模型统计的完美性,而是在测试和训练的稳定性和准确性。...也就是一定意义的稀疏矩阵(同关联规则),也就是将long型数据框转化为wide型数据框。 转换可以用的包有reshape2以及data.table。...其中,data.table里的`dcast`函数比reshape2包里的`dcast`好用,尽管他们的参数都一样,但是很多人还是比较喜欢老朋友reshape2包,然而这一步需要大量的内存,本书在服务器完成的...,如果你的电脑报告内存不足的错误,可以使用data.table包里的`dcast`函数试试。...如下图4,可知左边按id与label进行分类,右边是按每个单词,相当于变成了n*n个数据量,计算消耗非常

8.6K40

能不能让R按行处理数据

这些问题都是在平日的工作中有很高可能性出现并且看似容易实则让人抓狂的问题,在Stackoverflow他们有着很高的人气。事实,这些问题也就是你在“看懂一本R的教材”和“成为R大神”之间的距离。...这些问题大多数涉及到用data.table包处理数据data.table是目前R中人气最高的数据处理包。 2....如果要自己寻找StackoverflowR或是data.table相关的问题,可以在搜索栏输入[R] [data.table] Your question。 提 出问题 好啦,开始上课!...事实data.table也整合了reshape中的cast和melt函数,并且将cast函数升级为dcast,感兴趣的小伙伴可以去研究一番。 在拉直数据后,接下来要做的工作就很简单了。...事实,大猫把整个过程分解成了好几步,如果对于data.table包比较熟悉,完全可以在一行之内搞定所有事情,根本不需要把进行数据的拆分、合并: ▶ t.final <- t1[, ":="(mean.scale

1.3K20

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

R语言作为专业的统计计算语言,数据处理是其一特色功能,事实每一个处理任务在R语言中都有着不止一套解决方案(这通常也是初学者在入门R语言时,感觉内容太多无从下手的原因),当然这些不同方案确实存在着性能和效率的绝大差异...说了这么多,绕了这么的弯子想干啥呢,没错今天又要给自己升级新技能啦,这次的主角儿是 data.table 一个R语言高性能数据处理包,一个包可以涵盖以上所说的数据处理的大部分内容,而且操作高度抽象化话...data.table 1、I/O性能: data.table的被推崇的重要原因就是他的IO吞吐性能在R语言诸多包中首屈一指,这里以一个1.6G多的2015年纽约自行车出行数据为例来检验其性能到底如何,...左手用R右手Python系列——数据合并与追加 长宽转换: 长宽转换仍然支持plyr中的melt/dcast函数以及tidyr中的gather/spread函数。...本篇仅对data.table的基础常用函数做一个整理,如果想要学习期更为灵活高阶的用法,还请异步官方文档。 左手用R右手Python系列——数据塑型与长宽转换

3.6K80

R语言︱SNA-社会关系网络 R语言实现专题(基础篇)(一)

例如(小明-小红)是好朋友,在R里面就显示为(1-2),所以需要单独把名字属性加到序号。 1、平行关系型 (1)无向平行数据。直接上例子比较直观,社交网络中的好友关系,你-我,我-他。...(2)有向平行数据。举一个书(《R语言与网站分析》)的例子。解读一下这个图,这是一条微博的转发情况,“老牛”用户这个微博号转发,让“晴”、“四眼看八方”两个用户看到了。...其中,data.table里的`dcast`函数比reshape2包里的`dcast`好用,尽管他们的参数都一样,但是很多人还是比较喜欢老朋友reshape2包,然而这一步需要大量的内存,本书在服务器完成的...,如果你的电脑报告内存不足的错误,可以使用data.table包里的`dcast`函数试试。...并且关系网络生成之后,R里面就不是用真实的名字来做连接,是采用编号的。例如(小明-小红)是好朋友,在R里面就显示为(1-2),所以需要单独把名字属性加到序号

1.6K30

Q&A:在melt和dcast之间反复横跳

Q&A:在melt和dcast之间反复横跳 写在前面 各位水友大家好,自从上一次发布了改版的推文说明之后,喵和村长收到了很多水友的问题,我们也对这些问题进行了回复,希望能对大家R语言的学习有所帮助,在此先谢谢各位的支持...library(data.table) data <- fread("data.txt", encoding = "UTF-8", na.string = "") data[1:5] 姓名 用药名称1...25mg 1年 规律 NA NA NA NA NA NA NA NA NA NA 郑浮昌 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 最终对数据的清洗结果...利用这个函数的目的在于,在data.table中进行数据处理贯彻的是向量思维。 这也是R语言和Python语言进行数据处理的底层逻辑。从数据特点的角度来解释,也即是长表优于宽表。...总结 该问题最主要考察了对数据结构的理解,如何在记录规则混乱的情况下,进行数据结构化处理。长表和宽表之间的相互转换,有时会在数据清洗中用到,对melt和dcast两个函数的理解需要深入。

64820

R练习50题 - 第六期

注:关于题目数据的问题可参考R练习50题-第一期! 习 题 22 22. 每天沪深300指数成分占比最大的10只股票是哪些? data[order(date, -index_w300), ....首先理解题意:计算观测时间内每个行业每天股票的数量,求每个行业股票数量的均值,而后按从到小排序。...这一题主要运用了dcast将一个‘长’的表变成一个‘宽’的表,还有关于R中变量名引用问题。 line 1 与前一题类似计算出个股收益率ret,而后挑选出需要的变量。...line 4 在删除tag = "other"的这些观测之后,用dcast将表进行变形,把观测值max10%和min10%变成两个变量名,而后在这两个变量名下填充ret_aver的观测值:dcast(....大猫的微信号是: iRoss2007 村长的微信号及B站主页是: ravin515 http://space.bilibili.com/40771572 大猫的R语言课堂关注R语言、数据挖掘以及经济金融学

53750

文本挖掘:社交网络、社群划分

例如(小明-小红)是好朋友,在R里面就显示为(1-2),所以需要单独把名字属性加到序号。 1、平行关系型 (1)无向平行数据。直接上例子比较直观,社交网络中的好友关系,你-我,我-他。...(2)有向平行数据。举一个书(《R语言与网站分析》)的例子。解读一下这个图,这是一条微博的转发情况,“老牛”用户这个微博号转发,让“晴”、“四眼看八方”两个用户看到了。...其中,data.table里的`dcast`函数比reshape2包里的`dcast`好用,尽管他们的参数都一样,但是很多人还是比较喜欢老朋友reshape2包,然而这一步需要大量的内存,本书在服务器完成的...,如果你的电脑报告内存不足的错误,可以使用data.table包里的`dcast`函数试试。...并且关系网络生成之后,R里面就不是用真实的名字来做连接,是采用编号的。例如(小明-小红)是好朋友,在R里面就显示为(1-2),所以需要单独把名字属性加到序号

1.9K60

数据管理—reshape2包

我就在这里等你关注,不离不弃 ——A·May R-50T-50 「序 言 」 不知不觉,已经写了半百的R语言了,感觉等数据准备这个大阶段结束,有必要将数据理解和数据准备这两阶段进行下系统的融合,然后再重新看选模型和建模型的问题...「 melt 」 了解melt melt对数据的融合,也就是ddply中对数据进行拆分,但是melt的融合是有其固定的格式与要求的,即把数据分成标识变量、测量变量和测量值三个部分,我们要做的工作主要是根据需求选择适当的标识变量和测量变量...这里,我们先示例一下利用dcast进行重建表。如下图所示,我们建立了新的数据包含变量AQI和PM2.5等五个指标,我们的基本目的达到了。...「 dcast 」 了解dcast 对于dcast的重铸和应用功能,小伙伴通过上面的例子应该已经有了大致的了解,所以,我们现在来了解一下dcast函数的构成: dcast(meltdata,id.vars1...其实,数据管理的含义要比数据准备更大一些,基本数据有关的所有操作都可以视为一种数据管理行为,而数据准备更具有针对性,包括更具需求创建新变量、筛选变量、数据清洗和合并数据等系列操作。

71300

Matt Dowle 演讲节选(二)

选择、运算、分组,三个截然不同的命令被完美的整合到了DF[i, j, by]的语法中,更妙的是,一步运算的结果可以直接作为下一步的输入数据!...设想一下,假如我们的内存为 4G,而数据为 3.9G,这就意味着我们几乎不能对数据进行任何修改!...但是有了data.table,我们就可以处理 3.9999G 的数据!...(大猫:在最新版本的 R 中,这个问题已经明显缓解,但是这时已经过去了5年多)而在data.table中,一切都是那么自然: > DF[, colToDelete := NULL] 哪怕你的数据有...果然 R 的性能就是不行啊”。这时你们肯定会去 StackOverflow 发帖询问,而得到的回答大多数是让你指定read.csv的一堆的参数。

1.1K40

左手用R右手Python系列——数据塑型与长宽转换

今天这篇是R语言 with Python系列的第三篇,主要跟大家分享数据处理过程中的数据塑型与长宽转换。...其实这个系列算是我对于之前学习的R语言系列的一个总结,再加上刚好最近入门Python,这样在总结R语言的同时,对比R语言与Pyhton在数据处理中常用解决方案的差异,每一个小节只讲一个小知识点,但是这些知识点都是日常数据处理与清洗过程中非常高频的需求...在R语言中,提供数据长宽转换的包主要有两个: reshape2::melt/dcast tidyr::gather/spread library("reshape2") library("tidyr")...reshape2中的dcast函数可以完成数据长转宽的需求: dcast( data=data1, #数据名称 Name+Conpany~Year #x1+x2...内的两个函数所需参数少,逻辑更好理解,自始至终都围绕着data,key、value三个参数来进行设定,而相对老旧的包reshape2内的melt\dcast函数在参数配置就显得不是很友好,他是围绕着一直不变的主字段来进行设定的

2.5K60

R︱高效数据操作——data.table包(实战心得、dplyr对比、key灵活用法、数据合并)

网络充斥的是data.table很好,很棒,性能棒之类的,但是从我实际使用来看,就得泼个水,网上博客都是拿一些简单的案例数据,但是实际数据结构很复杂的情况下,批量操作对于data.table编码来说,...(参考来源:R高效数据处理包dplyr和data.table,你选哪个?) ?...R语言︱数据分组、筛选(plit – apply – combine模式、dplyr、data.table) 同时,data.table与data.frame数据呈现方面,还有有所不同的。...查看数据是否有key的方式: key(data) #检查该数据key是什么?...参考文献: 些许案例,代码参考自以下博客,感谢你们的辛勤: 1、R语言data.table简介 2、超高性能数据处理包data.table 3、R语言data.table速查手册 4、R高效数据处理包

7.7K43

r」dplyr 里的 join 与 base 里的 merge 存在差异

构造数据 下面是一个可重复的例子,构造两个数据,一个是基于 data.frame 的列表,另一个是就要 data.table 的列表: x <- list( a = data.frame(r1...r4 r1 r3 r2 #> 1 S1 S2 S2 S1 S1 #> 2 S2 S1 S1 S2 S2 看起来似乎有点不可理喻,但实际上面我构造的数据是有点特别的:前 2 个子集和第 3 个子集是没有可以连接的列的...本质data.table 体格的泛型函数不支持类似基础包中的操作。 如何编写代码支持对上述数据的连接操作?...但特殊情况下,即类似我上述构造的数据数据子集不是所有但两两之间都存在共有的列,但按照一定的顺序确实能够将其合并。...} else { be_join <- shifter(be_join) } } 上述代码中执行下面的操作: 构造两个集合 to_join 和 be_join,to_join 初始化为数据的第一个子集

1.5K30

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券