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

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

一个R对象转化为data.table,R可以时矢量,列表,data.frame等,keep.rownames决定是否保留名或者列表名,默认FALSE,如果TRUE,名存在"rn"中,keep.rownames...列名,old是旧列名或者数字位置,new是列名 setcolorder(x,neworder) 重新安排列顺序,neworder字符矢量或者行数 set(DT,rownum,colnum,value...不然就是"," col.names,列名,默认试用header或者探测到,不然就是V+号; encoding,默认"unknown",其它可能"UTF-8"或者"Latin-1",不是用来重新编码...前面三个选项都是用特定C代码写,较快 buffMB,每个核心缓冲大小,在1到1024之间,默认80MB nThread,用核心数。...with 默认是TRUE,列名能够当作变量使用,即x相当于DT$"x",当是FALSE时,列名仅仅作为字符串,可以用传统data.frame方法并且返回data.table,x[, cols, with

5.5K20

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

sep 之间分隔符; sep2 分隔符内再分隔分隔符,功能还没有应用; nrow 读取行数,默认-l全部,nrow=0仅仅返回列名; header 第一是否是列名...不然就是"," col.names 列名,默认试用header或者探测到,不然就是V+号; encoding 默认"unknown",其它可能"UTF-8"或者"Latin-1",...前面三个选项都是用特定C代码写,较快; buffMB 每个核心缓冲大小,在1到1024之间,默认80MB; nThread 用核心数; showProgress 在工作台显示进程...,也支持pattern函数,下面会提到,如果缺失,非id变量会被赋值;如果measure.vars和id.vars都没有赋予,全部非数字作为id.vars,剩余作为measure.vars;如果measure...如果TRUE,在工作台产生交互信息,默认options(datatable.verbose=TRUE) 对于前面的DT,我现在f和d开头列名作为测量变量,如下 pattern函数下面会讲

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

「R」数据操作(三):高效data.table

> 1: T01 SupCar #> 2: M01 JeepX #> 3: M02 AircraftX #> 4: M03 Runner 我们可以替换原有,生成data.table...这样挺麻烦,因此data.table包提供了对进行原地赋值符号:=,例如product_stats开始是这样: product_stats #> id material size weight...#> 0.132 0.018 0.150 作为对比,我们使用data.table来完成这个任务,使用setDT()数据框转换为data.table,该函数可以原地转换,不需要复制,并可以设定键。...为演示,我们先创建data.table,命名为market_data,其中date是连续。...,而是使用market_data[, (columns) := list(...)]来动态设定,其中columns是一个包含列名字符向量,list(...)是每个对应值: price_cols

5.9K20

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

DT数据集按照x分组,然后计算v变量和、最小值、最大值。 (2)dplyr函数利用%>%(链式操作)来改进: 链式操作是啥意思呢?...4、修改列名名 #把名字为"old",设置为"new" > setnames(DT,"old","new") #把"V2","V3",设置为"V2.rating","V3.DataCamp"...除了,就是问题了。在data.table操作,真的是费劲。。。 常规来看, data[,....(x)] 还有 data$x 如果有很多名字很长指标,data.table中如果按进行遍历呢? data[,1]是不行,选中方式是用列名。...2016-11-28补充: 留言区大神了一个比较好选中方式,其中主要就是对with使用: data.table时,可以用data[,1,with=FALSE]取data第一

7K43

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

rm(list=ls()) gc() 2、索引切片聚合 data.table中提供了索引、切片、分组功能于一体数据处理模型。...(carrier,tailnum)] #但心里要清楚索引接受条件是含有列表列表,而且这里列表作为变量给出,而非data.frame时代字符串向量。 行列同时索引毫无压力。...索引位置不仅支持列名索引,可以直接支持内建函数操作。 mydata[,.(flight/1000,carrier,tailnum)] 支持直接在索引位置新建赋值符号为:=。...注意以上新建时,如果只有一列名比较自由,写成字符串或者变量都可以,但是新建多,必须严格按照左侧列名为字符串向量,右侧为列表模式,当然你也可以使用第二种写法。...以上语法加入了参数.SDcols和.SD,咋一看摸不着头脑,其实是在按照carrier,origin,dest三个维度分组基础上,对每个子块特定进行均值运算。

3.6K80

文件读写20230204

因此不能x=load("example.Rdata"),变量不能被赋值其他变量。...save(test,file="example.Rdata)加载:load("example.Rdata")总结:1).R 是脚本文件2).Rdata 是变量信息3).Rproj 是包括路径三、保留列名名保留列名...:header=T, 表格自带列名会变成真正列名。...图片图片因此可以得知,fill=T虽然可以读入文件,但是也会导致“问题文件”读入错误,因为它默认值是sep=" ",会把一整个空格认为也是分隔符,导致第五内容被错误放入了空着第四。...("ex2.csv")图片图片data.table包:fread()1) 非常方便,可以准确读取一些“问题文件”,例如刚刚有缺失空soft.txt,最好带上参数 data.table=F,可以确保产生干净数据框

1.4K111

Learn R 函数和R包

> plot(iris[,1],col = iris[,5]) #按照第五每个点分配颜色 > plot(iris[,2],col = iris[,5]) > plot(iris[,3],col =....txt 用read.table(" ") > ex1 <- read.table("ex1.txt") > ex1 <- read.table("ex1.txt",header = T) #文件里第一作为列名...-------注意,数据框不允许有重复名,也就是第一不能有重复值------ 图片 3.读取soft.txt >soft <- read.table("soft.txt") #代码报错 因为数据不方正...,看用不用headerheader=T---- # 2.查看有多少、多少列 > dim(x) [1] 50 20 # 3.查看列名 > colnames(x) [1] "geneA" "geneB"...::fread("soft.txt",data.table = F)#读取很智能,不会导致窜 #### 4.rio包 可以读取任何形式,但有问题文件仍有问题,根据文件后缀读取,特殊 >import

1.4K00

5个例子比较Python Pandas 和R data.table

我们介绍示例是常见数据分析和操作操作。因此,您可能会经常使用它们。 我们将使用Kaggle上提供墨尔本住房数据集作为示例。...data.table) melb <- fread("datasets/melb_data.csv") 示例1 第一个示例是关于基于数据集中现有创建。...我们使用计数函数来获得每组房屋数量。”。N”可作为data.tablecount函数。 默认情况下,这两个库都按升序对结果排序。排序规则在pandas中ascending参数控制。...data.table中使用减号获得降序结果。 示例5 在最后一个示例中,我们看到如何更改列名。例如,我们可以更改类型和距离名称。...inplace参数用于结果保存在原始数据帧中。 对于data.table,我们使用setnames函数。它使用三个参数,分别是表名,要更改列名列名

3K30

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

函数参数能够按位置顺序赋值,而不用显式指定参数名,但指定参数名是最佳实践。 第二个参数header,表示数据第一,即列名。第三个参数sed,表示数据分隔符。...col_names默认为TRUE,指定文件第一列名。...注意,数据读取为tbl_df对象,它是tbl扩展,也是data.frame扩展。tbl是data.frame特殊类型,它在dplyr包中定义。每数据类型显示在列名下面,这是个很好功能。...02 fread函数 另一个读取大量数据函数是data.tablefread函数。第一个参数是读取文件路径或者URL。header参数表示文件第一列名,sep指定分隔符。...该函数读取速度比read.table函数快,结果为data.table对象。data.table对象是data.frame扩展,其是data.frame优化。

21K21

Day4-5 R语言代码

(2)在数据框类型数据取子集时、导入TXT文件时,注意一下数值型数据/中,有没有藏着字符型数据。马虎了就会影响后续数据处理。...可以让R不修改行列名字,PS:R语言中行列名字中不能有特殊字符; 2)row.names = 1”这个参数意思时不能把第一作为名;PS:R语言中行名不能重复,如果将有重复A设为名,需要先不将...row.name参数添加进来,处理A重复值(去重复、两取平均值合并为一),再设置为名。...save(a,file = "exam.Rdata") load("exam.Rdata") 2、判断两个数据是否相同(数据内容和数据结构) identical(a,a1) 3、列名批量修改 library...4、本地安装,R包zip文件下载下来,然后放在工作路径中 devtools::install_local(“xxxx.zip”) 5、window电脑可能会存在权限问题 6、R包不会用,有作者第一手教程

20420

R语言机器学习之构建并操作Task(2)(mlr3包系列)

上一期讲到taskcol_roles信息,这个是用来储存各角色,接下来咱们用实例学习如何操作该对象: library(mlr3) mtcars[1:5,1:3] # 查看mtcars数据集(前五...,前三),该数据集列名就是车型号 #我们把mtcars前3转化为“data.table”,并保留名 data = as.data.table(mtcars[, 1:3],keep.rownames...= "mpg") # 当保留原数据集名时,taskfeature就会多出一个名叫“rn“,代表rownames task$feature_names # [1] "cyl" "disp"..."rn" # 我们可以把rn这一作为name这个角色 task$set_col_roles("rn", roles ="name") # 当把“rn“设置为”name“角色后,它就不存在于feature...只保留1到3数据 task$head() # 查看数据 task$cbind(data.table::data.table(foo =letters[1:3])) # 按合并数据,也即添加一数据

48110

gplots heatmap.2和ggplot2 geom_tile实现数据聚类和热图plot

主要步骤 ggplot2 数据处理成矩阵形式,列名 hclust聚类,改变矩阵行列顺序为聚类后顺序 melt数据,处理成ggplot2能够直接处理数据结构,并加上列名 ggplot_tile进行画图...gplots 数据处理成矩阵形式,列名 调制颜色并用heatmap.2画热图(heatmap.2函数内部用hclustfun 进行聚类) R语言代码 library(ggplot2) library...rownames(data) <- unlist(wdt[,1]) hc<-hclust(dist(data),method = "average") #对行进行聚类 rowInd<-hc$order #聚类后行顺序存为...rowInd hc<-hclust(dist(t(data)),method = "average") #对矩阵进行转置,对原本进行聚类 colInd<-hc$order #聚类后顺序存为...colInd data<-data[rowInd,colInd] #数据按照聚类结果重排行和 dp=melt(data) #对数据进行融合,适应ggplot数据结构,以进行热图绘制 colnames

4.7K70

生信技能树 Day5 文件读写

,可以设置,不是数据#1.读取ex1.txtex1 <- read.table("ex1.txt") # 列名变成了表格正式内容,数值列名加入变成了字符ex1 <- read.table("ex1....txt",header = T) # 文件有列名的话让列名归位#2.读取ex2.csvex2 <- read.csv("ex2.csv") # 名当成了第一并加了列名x;列名中_特殊字符被转化为....ex2 <- read.csv("ex2.csv",row.names = 1,check.names = F) # 设置第一名;不自动检查列名## 注意名不能重复,如果报错可以把去除重复值(两求平均合并...其他读取/导出文件R包 import最推荐#用data.table来读取library(data.table)ex1 = fread("ex1.txt")class(ex1)## [1] "data.table...,data.table = F)##不支持直接设置名,设置名用下面函数实现library(tibble)ex2 = column_to_rownames(ex2,"V1") # 把V1设为名#riolibrary

7810

从零开始异世界生信学习 R语言部分 04 文件读写与认知

T) #通常读取txt格式文件,header参数表示文件第一作为列名,默认为F 图片 图片 读取csv文件 #2.读取ex2.csv ex2 <- read.csv("ex2.csv") 图片...ex2 <- read.csv("ex2.csv",row.names = 1,check.names = F) #row.names= 表示第一名,注意名不能重复,如果名有重复,需要处理处理数据...# check.names= 表示检查看列名是否存在特殊符号,F表示保持原文件符号 #注意:数据框不允许重复名 rod = read.csv("rod.csv",row.names = 1) rod...列名是什么 dim(soft) colnames(soft) 数据框导出成表格文件 #5.soft导出为csv write.csv(soft,file = "soft.csv") #导出成csv格式...图片 一个项目的不同部分分别存在不同文件夹 图片 图片 图片 # data.table包中fread函数 soft = data.table::fread("soft.txt",data.table

1.3K40

MR应知应会:MungeSumstats包

该软件包还使用户能够灵活地重新格式化文件导出为制表符分隔 VCF 或 R 本机对象,例如 data.table、GRanges 或 VRanges 对象。...这只能作为最后手段。 force_new_z 当“Z”已经存在时,默认使用它。要从 P 设置为 TRUE 覆盖并计算 Z 分数列。 compute_n 是否插补 N。...return_data返回data.table, GRanges或VRanges直接返回用户。否则,返回保存数据路径。默认值为 FALSE。...mapping_file MungeSumstats 有一个预定义列名映射文件,该文件应涵盖最常见标题及其解释。...但是,如果 youf 文件中标题丢失,我们提供映射不正确,您可以提供自己映射文件。必须是 2 数据框,列名称为“未更正”和“已更正”。

63110

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

,文件也可以读入,建议不加分隔符 fread可以自动检测注释,并且跳过注释   默认skip=0,会跳过不规则,因此有注释行时,可以走默认skip参数 转换成矩阵时可以保留某一为rowname...  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函数能对不同数据框求交集,差集,并集等 可以直接对按分隔符进行分割   应用...tstrsplit函数可以按照分隔符分成多,函数返回是一个列表,举例:DT[, c("c1", "c2") := tstrsplit(x, "/", fixed=TRUE)][],x按照/

1.5K10
领券