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

R语言数据分析利器data.table包 —— 数据框结构处理精讲

版权声明:本文为博主原创文章,转载请注明出处     R语言data.table包是自带包data.frame的升级版,用于数据框格式数据的处理,最大的特点快。...sep2,分隔符内再分隔的分隔符,功能还没有应用; nrow,读取的行数,默认-l全部,nrow=0仅仅返回列名; header第一行是否是列名; na.strings,对NA的解释; file...,默认FALSE,如果TRUE,跳过空白行 key,设置key,用一个或多个列名,会传递给setkey showProgress,TRUE会显示脚本进程,R层次的C代码 data.table,TRUE...sep2,对于是list的一列,写出去时list成员间以sep2分隔,它们是处于一列之内,然后内部再用字符分开; eol,行分隔符,默认Windows是"\r\n",其它的是"\n"; na,na...n列,.N(总列数,直接在j输入.N取最后一列),:=(直接在data.table上添加列,没有copy过程,所以快,有需要的话注意备份),.SD输出子集,.SD[n]输出子集的第n列,DT[,.

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

    由hugepage设置导致的数据库事故(r4笔记第28天)

    这样问题就不会很被动,同步一些信息给客户,可能他们已经在关注或者在查了,能避免很多的误解。 我比对了内核参数的设置发现,内核参数没有任何的变化。...而且设置了较大的buffer cache,shared pool已经效果更好才对。所以从程序的角度来说,没有任何变化,不会有明确的原因是由于程序中的并行导致的。...怎么能够证明在hugepage的设置出现问题呢, 一个原因就是客户发送的变更清单,HugePage from 60 GB to 120GB ,清单上说需要变更为60G到120G,但是从目前的情况来看,似乎这个变更没有设置或是没有生效...如果放开一步说,60G的变更没有设置为120G,怎么能够证明60G是错误的呢。 这个时候还是得靠日志,数据库启动的时候会产生一些hugepage相关的信息。...正常情况下,如果hugepage设置正常,可以从数据库的日志中我们发现如下的一段内容。

    74640

    R语言 数据框、矩阵、列表的创建、修改、导出

    数据框数据框的创建数据框来源主要包括用代码新建(data.frame),由已有数据转换或处理得到(取子集、运算、合并等操作),读取表格文件(read.csv,read.table等)及R语言内置数据函数...,读入后进行的修改不会同步到表格文件,除非导出**分隔符包括空格,逗号,制表符(tab),csv是一个逗号分隔的纯文本文件,它的后缀没有意义,也有可能实际上是一个制表符分割的tsv改变文件名而来的,此时用.../则为上一级)#文件是由生成它的函数决定的,不是由后缀决定的,save为csv实际上还是一个Rdata#readr包可以实现base包中的类似功能library(data.table)#其中的fread...函数可以避免此前的错误adata.table = F)class(a)#但其不会有行名,且其会有一个data.table的数据结构多出来,可以设置data.table..."$"取子集df1$gene为对数据框df1列名的向量取子集*输入df1$后按tab键可以输出待选的列名mean(df1$score) #对取出的向量可以进行运算坐标取子集df1[2,2] #取出(行数

    7.9K00

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

    版权声明:本文为博主原创文章,转载请注明出处 R语言data.table包是自带包data.frame的升级版,用于数据框格式数据的处理,最大的特点快。...sep 列之间的分隔符; sep2 分隔符内再分隔的分隔符,功能还没有应用; nrow 读取的行数,默认-l全部,nrow=0仅仅返回列名; header 第一行是否是列名...,R层次的C代码 data.table TRUE返回data.table,FALSE返回data.frame 可见1.8GB的数据读入94秒,读入文件速度非常快 fwrite 对数据框数据进行处理后...,默认_; subset 指定要铸造的子集;利用; margins 函数尚不能应用(作者还没写好),预计设定编辑汇总方向; fill 填充缺失值; drop 设置成FALSE...)的结果 最后,写完这篇博客,timetaken断断续续大约一星期 参考文献 data.table manual: https://cran.r-project.org/web/packages

    3.4K10

    R语言入门之数据的导入和导出

    当然对于一些基因组文件或者其它格式的文件,各自有各自的特点,原则上R语言可以读取任何格式的文件,只需掌握基本的读取文件方法后按照不同特点调整参数即可。 1....‘来分隔 #第一个参数是读入的文件(由文件所在路径及其文件名构成) #第二个参数是指定是否将第一行作为列名,TRUE表示第一行即为列名 #第三个参数是指定分隔符 #第四个是指定行名所在的列,指定列名为“...()函数,它和read.table()类似,只是不需要设置sep参数,会方便一些。...直接高效读取以.gz结尾的压缩文件 一般在R中可以使用gzfile()的方式读取压缩文件,但如果使用data.table包里的fread()函数则可以大大提高工作效率。...Exporting Data) 在R语言中有很多方法可以导出各种类型的数据,但常用的文件格式也就第一部分中主要涉及的三类,即逗号分割文件、制表符分隔文件以及空格分隔文件。

    3.4K40

    手把手教你用R语言读取CSV文件

    导读:R语言有许多种方法去获取数据,最常用的是读取CSV文件。 作者:Jared P. Lander 来源:大数据DT(ID:hzdashuju) ?...read.table函数还有许多参数,最常用的是quote和colClasses参数,分别设置字符的包围符和每列的数据类型。...读取大CSV文件和其他文本文件的两个主流的函数是read_delim和fread,前者在readr包中由Hadley Wickham实现,后者在data.table包中由Matt Dowle实现。...02 fread函数 另一个读取大量数据的函数是data.table包的fread函数。第一个参数是读取的文件路径或者URL。header参数表示文件的第一行是列名,sep指定分隔符。...本文摘编自《R语言:实用数据分析和可视化技术》(原书第2版),经出版方授权发布。

    22.4K21

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

    r4 r1 r3 r2 #> 1 S1 S2 S2 S1 S1 #> 2 S2 S1 S1 S2 S2 看起来似乎有点不可理喻,但实际上上面我构造的数据集是有点特别的:前 2 个子集和第 3 个子集是没有可以连接的列的...一般工作情况下,不同的数据子集都存在可以连接的列,所以无论上述哪种方法都可以胜任工作。...但特殊情况下,即类似我上述构造的数据集:数据子集不是所有但两两之间都存在共有的列,但按照一定的顺序确实能够将其合并。...如果 be_join 不为空,进行如下的循环: 如果存在,则将这个子集和 to_join 按共同列合并 如果不存在,使用循环位移一位,将当前 be_join 的第 2 个子集移动为 第 1 个。...检查 be_join 第一个子集的列与 to_join 存在共同列 等待循环结束 我们可以查看结果: to_join[, c("r1", "r2", "r3", "r4", "r5")] #> r1

    1.6K30

    data.table包使用应该注意的一些细节

    因此对于不是非常巨大的文件,建议设置为1,不要使用全部核心 fread中sep是自动检测的   所以在循环读入文件的过程中,就算不同文件的分隔符不同,也可以循环一次性方便的读入; 还有就算后续改变了文件的分隔符...  as.matrix作用于data.table时会调用as.matrix.data.table,有一个rownames参数可以指定保留为行名的列 矩阵转换成data.table时可以保留列名   在...as.data.table函数中同样有一个rownames参数,设置为T可以将行名保留下来作为data.table的一列 不建议set和for循环一起使用   虽然set可以在内存上直接改变数值,但在R...  类似于集合运算,data.table中fintersect, fsetdiff, funion,fsetequal函数能对不同数据框的行求交集,差集,并集等 可以直接对列按分隔符进行分割   应用...分隔,分割成c1,c2两列 支持类似于SQLs的分组运算   带有rollup, cube, groupingsets函数 参考资料 data.table 1.11.2 manual:https://cran.r-project.org

    1.5K10

    Learn R 函数和R包

    ") #ls是展示出该包中的函数 R语言中的函数 ()前的是函数 [] 是取子集,一定是个数据 【】里有“,”->向量或矩阵 [[]] 前的通常是个列表 列表取子集 $ 数据框取子集 <-....csv") CSV (Comma Separated Values) 以逗号为分隔符 TSV (Tab Separated Values) 以tab为分隔符 #读取csv文件的方式 tab键输入 #1...分隔符 常见的分隔符:逗号、空格、制表符(\t) 将表格文件读取到R语言中 read.table() #读取txt格式 read.csv()#读取csv格式 文件的导出 不要覆盖原文件 代码可重复 数据可重现...(原文件名,file="xxx.txt") #把该文件导出为名为xxx的txt格式 R语言特有的数据保存格式 #Rdata R语言中特有的数据储存格式,无法用其他软件打开 #保存的是变量(向量、...::fread("soft.txt",data.table = F)#读取很智能,不会导致窜列 #### 4.rio包 可以读取任何形式,但有问题的文件仍有问题,根据文件的后缀读取,特殊 >import

    1.4K00

    文件的读写20230204

    一、csv的打开方式a)默认:excelb)记事本c)适用大文件:sublimed)R语言 >read.csv(" ") 注意文件的位置,选择相对路径还是绝对路径二、文件的读入与导出(1)文件读入1⃣️...默认有标题,分隔符是“\t”(制表符)(2)文件导出1⃣️ 导出csv格式: write.csv(要导出数据框的变量名, file=" example.csv"). example是自己设置的名称2⃣️...("ex2.csv")图片图片data.table包:fread()1) 非常方便,可以准确读取一些“问题文件”,例如刚刚有缺失空列的soft.txt,最好带上参数 data.table=F,可以确保产生干净的数据框...> soft_1data.table::fread("soft.txt",data.table = F)(非常方便,不需要乱七八糟的参数,可以读出复杂的文件)rio包:1) import() 可以读入一些后缀不正确的包...() 可以读取一个带有多个工作簿的表格文件>aa$sheet1 #可以通过$sheet读取这个表格文件的不同工作簿3)export() 可以把一个由多个数据框组成的列表输出为带有多个工作簿的表格文件

    1.5K111

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

    (参考来源:R高效数据处理包dplyr和data.table,你选哪个?) ?...R语言︱数据集分组、筛选(plit – apply – combine模式、dplyr、data.table) 同时,data.table与data.frame数据呈现方面,还有有所不同的。...data.table包提供了一个非常简洁的通用格式:DT[i,j,by],可以理解为:对于数据集DT,选取子集行i,通过by分组计算j。....SDcols常于.SD用在一起,他可以指定.SD中所包含的列,也就是对.SD取子集。...参考文献: 些许案例,代码参考自以下博客,感谢你们的辛勤: 1、R语言data.table简介 2、超高性能数据处理包data.table 3、R语言data.table速查手册 4、R高效数据处理包

    9.3K43

    Jelys Note之生信入门class5

    、矩阵取子集 [[]]---列表取子集 $ 数据框取列,列表取子集 <- 赋值 = 赋值,连接形式参数与实际参数 == 判断是否相等 !...逻辑值的否定 {} 多行代码 ::包::函数 4.认清函数和数据 · 只有数据才能被取子集![] · 两个中括号前取子集一般是从列表中提取!...(2)常见分隔符号: 逗号、空格、tab-制表符 逗号分隔文件:csv 以制表符为分隔文件:TSV 【通常用于读取txt格式:read.table()】 【通常用于读取csv格式:read.csv()...R语言读文件时串列了怎么办!不报错!=哑巴地雷 连续两个分隔符=空列=一切看不见的东西都会被认为是!...用于读取/导出文件的R包 fread()实现智能读取【data.table】 export()导出【rio】 import_list---多个工作部的数据,引入

    91010

    20231220-简单文件格式读取

    简单复习上一节内容 1认识csv格式 csv格式是以分割符(逗号,空格,制表符\t)分开内容的纯文本文件,EXCLE打开csv文件是识别分隔符,把内容装进格子里,R语言打开csv文件,是把纯文本文件装进一个数据框...,在R语言中,对数据框进行操作,相应的改动不会被同步到csv文件中 如果想要对原本的文件进行修改,把修改后的内容重新写为csv文件 write.csv(x,file="x.csv") 一个文件的本质是由生成它的函数决定...=1,check.names=F) (3)数据框不允许重复的行名 如果读取失败需要先去重复,在来设置行名 (4)有时数据中有一些缺失值,文件读取失败 解决办法:read.table("x.txt",header...=T,fill=T) 把缺失值用NA来代替,但R语言读取TXT文件时,会把所有的空格识别为一个分隔符,直接把后一列数据识别为前一行数据,然后把后一列数据用NA来补充。...这个错误可以用一些函数来避免掉 read.delim("x.txt") data.table::fread("x.txt",data.table=F)

    15510

    设置国内的源加快R包下载速度

    R语言在使用 install.packages() 安装package的时候,默认会在官方的源(https://cran.rstudio.com/)搜索R包,然后下载到你的电脑或者服务器上。...但是官方的源并不在中国,下载速度往往会受到很大的限制,因此当我们安装好R之后,第一步就应该是把R的安装源修改为国内的源(也称镜像,Mirror)。...也可以输入以下代码(适合不带图形界面的R),直接修改 options(repos=structure(c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN.../"))) 通过 getOption("repos") 命令可以知道目前的镜像网站是哪里的 2 修改 bioconductor 的安装源 绝大部分的生物信息相关的R包(如DESeq2, limma, clusterProfiler...)都在 bioconductor,并不在官方的源里面,所以通过 install.packages() 命令会找不到对应的R包。

    5.3K30
    领券