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

《高效R语言编程》6--高效数据木匠

,stringi和stringr可以通过正则表达式更新脏字符串,assertive和assertr包可以在数据分析项目的一开始进行数据完整性校验。...正则表达式 R与stringr分别使用grepl()和str_detect()进行,我比较喜欢基础R,不知你喜欢安装包还是用基本。...列改名 rename(),使用反引号‘`’包裹,允许R使用不规范列名。...unlist()函数作用,就是将list结构数据,变成非list数据,即将list数据变成字符串向量或者数字向量形式。...RODBC是一个资深包,提供R与SQL server接口。DBI包提供了通用接口与驱动程序类集,如RSQLITE,是访问数据库统一框架,允许其他驱动程序以模块包添加。

1.9K20

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

data.table 1、I/O性能: data.table被推崇重要原因就是他IO吞吐性能在R语言诸多包中首屈一指,这里以一个1.6G多2015年纽约自行车出行数据集为例检验其性能到底如何,...rm(list=ls()) gc() 2、索引切片聚合 data.table提供了将索引、列切片、分组功能于一体数据处理模型。...DT[i,j,by] 如果这个过程是SQL中是由select …… from …… where …… groupby …… having 完成,在R其他基础包中起码也是分批次完成。...data.table列索引 列索引与数据框相比操作体验差异比较大,data.table列索引摒弃了data.frame时代向量化参数,而使用list参数进行列索引。...注意以上新建列时,如果只有一列,列名比较自由,写成字符串或者变量都可以,但是新建多列,必须严格按照左侧列名为字符串向量,右侧为列表模式,当然你也可以使用第二种写法。

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

十、文件读写

") ##读取文件后发现第一不是列名,如果不更改,后期数据处理会出现问题。...2).读取ex2.csv ex2 <- read.csv("ex2.csv") ##读取进来文件和原文件差别:1.名和列名不对(名没有正确识别,列名多了一个);2.列名符号变了;...更改方法: 名没有正确识别,修改用: row.names =1 列名改变了,修改时用:check.names =F ###为什么列名会被修改,因为在R语言中默认列名不能出现特殊字符...###小技巧: 图片 # data.table 读取任何形式文件 ,包括问题文件 soft = data.table::fread("soft.txt",data.table = F) #正常文件...但是y中有字符型向量,有数值型向量,所以本身文件有问题,平时自己处理文件时候直接输出为数据框、列表都可以。不保存为矩阵。

1.7K40

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

函数可以避免此前错误a<-fread("soft.txt",data.table = F)class(a)#但其不会有名,且其会有一个data.table数据结构多出来,可以设置data.table...df1列名向量取子集*输入df1$后按tab键可以输出待选列名mean(df1$score) #对取出向量可以进行运算坐标取子集df1[2,2] #取出(行数,列数)单元格df1[2,] #取出第二所有内容...df1[3,3] <- 5 #为第3第3列数据赋值5df1df1$score <- c(12,23,50,2) #为列名为score列赋值新向量 df1新增列*新增列名与已有的列名不能一样,否则就是修改向量...,默认添加到最后df1$p.value <- c(0.01,0.02,0.07,0.05) df1修改行名和列名rownames(df1) <- c("r1","r2","r3","r4") #修改所有名...m <- matrix(1:9, nrow = 3) #生成一个向量,并将其分为3,生成数据框名和列名为[1,]等colnames(m) <- c("a","b","c") #加列名名均可以此实现

7.6K00

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

版权声明:本文为博主原创文章,转载请注明出处     R语言data.table包是自带包data.frame升级版,用于数据框格式数据处理,最大特点快。...将一个R对象转化为data.tableR可以时矢量,列表,data.frame等,keep.rownames决定是否保留名或者列表名,默认FALSE,如果TRUE,将名存在"rn"中,keep.rownames...当使用dt_names = names(DT)时候,修改dt_names会修改原data.table列名,如果不想被修改,这个时候应copy原data.table,也可以使用dt_names <-...sep2,分隔符内再分隔分隔符,功能还没有应用; nrow,读取行数,默认-l全部,nrow=0仅仅返回列名; header第一是否是列名; na.strings,对NA解释; file...,默认FALSE,如果TRUE,跳过空白 key,设置key,用一个或多个列名,会传递给setkey showProgress,TRUE会显示脚本进程,R层次C代码 data.table,TRUE

5.6K20

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

T) #通常读取txt格式文件,header参数表示将文件第一作为列名,默认为F 图片 图片 读取csv文件 #2.读取ex2.csv ex2 <- read.csv("ex2.csv") 图片...# check.names= 表示检查看列名是否存在特殊符号,F表示保持原文件符号 #注意:数据框不允许重复名 rod = read.csv("rod.csv",row.names = 1) rod...图片 将一个项目的不同部分分别存在不同文件夹 图片 图片 图片 # data.table包中fread函数 soft = data.table::fread("soft.txt",data.table...csv文件 图片 补充知识 矩阵如何生成 # 1.由数值型数据框转换 m1 = as.matrix(iris[,1:4]) # 2.由向量改变维度而来 m2 = matrix(rnorm(18),nrow...由向量拼接而来 m3 = cbind(1:10, # cbind函数表示按照合并向量,rbind为按照列合并数据 11:20, 30:21) m3 #4.

1.3K40

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

data.table提供了一个非常简洁通用格式:DT[i,j,by],可以理解为:对于数据集DT,选取子集i,通过by分组计算j。...data.table中,还有一个比较特立独行函数: 使用:=引用来添加或更新一列(参考:R语言data.table速查手册) DT[, c("V1","V2") := list(round(exp(V1...),2), LETTERS[4:6])] DT[, c("V1","V2") := NULL] 通过list方式更新了数据,以及使用null方式删除列。...—————————————————————— 实战一:在data.table如何选中列,如何循环提取、操作data.table列?...在data.table操作跟data.frame很像,可以data[1,]就可以获得第一数据,同时也可以用,data[1]获得信息,这个是data.table特有的。

7.5K43

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 对数据框数据进行处理后..."; row.names 是否写出行名,因为data.table没有名,所以默认FALSE; col.names 是否写出列名,默认TRUE,如果没有定义,并且append=TRUE...)结果 最后,写完这篇博客,timetaken断断续续大约一星期 参考文献 data.table manual: https://cran.r-project.org/web/packages

3.2K10

R-语言学习-230910

R语言包括S3对象和s4对象。s3 包括基本数据结构:向量 矩阵 数据框 数组 列表。s4 包括层级结构由s3组成。数据框本质:长度相等向量按照列方式排列。c是列 r。...rbind cbind merge是合并列表:分量提取用[[]]s4对象提取 白色括号提取(点击绿色箭头)matrix要求向量类型相同,数据框没有要求复制data.table包可以读取文本文件。...gene symbol最好不用作列名,因为其有空格,容易报错。标准表达矩阵一般列名是样本名,名是基因名。预后效果是生存率。...R语言中palette是指什么Answer :在R语言中, palette 是一个用于设置颜色调色板函数。调色板是一组预定义颜色集合,用于绘制图形、制作图表或设置绘图设备颜色。...通过使用 palette 函数,您可以选择不同调色板来自定义图形颜色方案。

13530

Day4-5 R语言代码

(2)在数据框类型数据取子集时、导入TXT文件时,注意一下数值型数据/中,有没有藏着字符型数据。马虎了就会影响后续数据处理。...可以让R不修改行列名字,PS:R语言中行列名字中不能有特殊字符; 2)row.names = 1”这个参数意思时不能把第一列作为名;PS:R语言中行名不能重复,如果将有重复A列设为名,需要先不将...row.name参数添加进来,处理A列重复值(去重复、两取平均值合并为一),再设置为名。..."data.table"格式,需要添加参数"data.table=F"避免 #data.table ex1 = data.table::fread("ex1.txt") class(ex1) ex1...形式参数和实际参数 三、R包安装 1、一个未知包,如果不知道怎么安装。

21620

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

Python和R是数据科学生态系统中两种主要语言。它们都提供了丰富功能选择并且能够加速和改进数据科学工作流程。...在这篇文章中,我们将比较Pandas 和data.table,这两个库是Python和R最长用数据分析包。我们不会说那个一个更好,我们这里重点是演示这两个库如何为数据处理提供高效和灵活方法。...data.table中使用减号获得降序结果。 示例5 在最后一个示例中,我们将看到如何更改列名。例如,我们可以更改类型和距离列名称。...这两个库都提供了简单有效方法完成这些任务。 在我看来,data.table比pandas简单一点。 需要指出是,我们在本文中所做示例只代表了这些库功能很小一部分。...它们提供了许多函数和方法执行更复杂操作。 感谢您阅读。如果你有什么反馈,请告诉我。

3K30

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

当然对于一些基因组文件或者其它格式文件,各自有各自特点,原则上R语言可以读取任何格式文件,只需掌握基本读取文件方法后按照不同特点调整参数即可。 1....使用一般方法读取文件(也即文件名以.csv为后缀文件) (1)读取逗号分隔文件 #通常文件第一是题头(也称列名),逗号是文件内容分隔符 #尤其需要注意是在windows操作系统中文件路径需用‘/...‘分隔 #第一个参数是读入文件(由文件所在路径及其文件名构成) #第二个参数是指定是否将第一作为列名,TRUE表示第一即为列名 #第三个参数是指定分隔符 #第四个是指定名所在列,指定列名为“...直接高效读取以.gz结尾压缩文件 一般在R中可以使用gzfile()方式读取压缩文件,但如果使用data.table包里fread()函数则可以大大提高工作效率。...function()形式查阅函数帮助信息,比如?read.table(); 也可以用??

3.1K40

Learn R 函数和R

") #ls是展示出该包中函数 R语言中函数 ()前是函数 [] 是取子集,一定是个数据 【】里有“,”->向量或矩阵 [[]] 前通常是个列表 列表取子集 $ 数据框取子集 <-...(原文件名,file="xxx.txt") #把该文件导出为名为xxxtxt格式 R语言特有的数据保存格式 #Rdata R语言中特有的数据储存格式,无法用其他软件打开 #保存是变量(向量、...("ex1.txt") > ex1 <- read.table("ex1.txt",header = T) #文件里第一作为列名 图片 #2.读取ex2.csv > ex2 <- read.csv(...,看用不用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

R练习50题 - 第一期

只可惜Renkun并没有提供答案,所以我们在这里提供我们版本。 我们所有答案都将使用data.table这个包。我们认为data.table是最优秀数据处理工具,没有之一。...我们首先使用以下代码导入数据集: # We only need two packages here library(data.table) library(stringr) # set `data_path...例如股票600128,如果它一共有100天观测,那么我们会出现100个重复结果。为了去重,我们需要借助于data.tableunique函数。 我们希望最终输出是一个字符串向量: ?...它是data.table内置函数之一,和unique几乎执行相同操作,唯一不同是,unique返回是不重复item(是一个向量),而uniqueN返回是不重复数量(是一个数字)。...如果你愿意,data.table允许你把所有的代码都写在同一,就像这样: 下期预告 在下一期,我们会继续带来剩余题目的解答~ 大猫R语言课堂 我是大猫,一个高中读文科但却在代码、数学路上狂奔不止

2.4K40

35代码搞定事件研究法(下)

Hello亲爱小伙伴们,上期已经讲到如何对单一事件日计算超额收益,本期将会教大家如何针对多个股票多个事件日计算超额收益,Let's go! ?...用data.table包处理多个事件日 本期课堂核心代码只有下面5(应用了data.table语法): > car <- event[, { > ns <- which(event.flg...首先,这5代码可以抽象为如下形式: > event[, > {...}, > by = stk.id] 其中,event数据集就是我们在上节课讲到包含有股票代码...我们一来看: ns <- which(event.flg == 1); 这一代码作用找到每个股票所有事件日序号 ns。大家应该还记得在上一讲中我们用 n 表示单一事件日序号吧?...do_car() 要求我们提供n, r, rm, date 四个参数,但是向量 ns 只能提供 n 这一个参数值,因此我们需要用pryr包中partial() 函数把剩下几个变量补充完整(感谢pryr

1.2K40

生信技能树 Day8 9 GEO数据挖掘 基因芯片数据

关于表达矩阵里负值 (2)提取临床信息 pd <- pData(eSet) # 找分组信息 (3)让exp列名与pd名顺序完全一致 p = identical(rownames(pd),colnames...# 生成Group向量三种常规方法,三选一,选谁就把第几个逻辑值写成T,另外两个为F。...--------------------------------------------------------------------------- 什么是探针注释:就是探针和基因对应关系,随着研究发展会不断更新...acc=GPL570 代码下载 #获取表格下载链接 get_gpl_txt(gpl_number) 如何读取表格并提取子集,以GPL28098为例 #读取表格 a = data.table::fread...= 33) # 打开发现前33是注释,跳过前33 colnames(b) ids = b[,c("ID" ,"SYMBOL")] # 要改列名,后面的代码适应这两个列名 colnames(ids)

15120
领券