R语言-如何读写带分隔符的文件

有众多的格式和文本文件标准可用于存储数据。用于存储数据的通用格式为分隔符值(即CSV或制表符分割文件)、可扩展标记语言(XML)、JavaScript对象表示法(JSON)

将数据存储在文本文件中的主要优点是:他们可被几乎所有的其他数据分析软件或人读取

R语言提供丰富的函数来读取不同格式的数据,包括:

文本文件(TXT文件)

逗号分隔文件(CSV文件)

TXT文件——read.table()

矩形(类似电子表格的)数据通常存储在带有分隔符的文件中,特别是逗号分隔值(CSV)和制表符分隔值文件。read.table将读取这些分隔符文件,并将结果存储在一个数据框中。其格式如下:

read.table(file,header = FALSE,sep = “”,quote = “”'",
dec = “.”,numerals = c(“allow.loss”,“warn.loss”,“no.loss”),
row.name,col.name,as.is = !stringsAsFactors,
na.strings = “NA”,colClasses = NA,nrow = -1,
skip = 0,check.names = TRUE,fill = !blank.lines.skip,
strip.white = FALSE,bla nk.lines.skip = TRUE,
comment.char = “#”,
allowEscapes = FALSE,flush = FALSE,
stringsAsFactors = default.stringsAsFactors(),
fileEncoding = “”,encoding = “unknown”,text,skipNul = FALSE)

read.table 函数的常用参数描述

参数 描述
file 文件名(包含在“”内,或使用一个字符型变量),可能需要全路径(即使是在Windows下,符号 \ 也不允许包含在内,必须用 / 或者 \ \ 替换)或者一个URL(Uniform Resource Location,统一资源定位符)链接(用URL对文件远程访问)
header 一个逻辑值,用来反映这个文件的第1行是否包含变量名,为TRUE时表示文件的第1行为变量名
sep 文件中的字段分隔符,例如,对用制表符分隔的文件使用sep=“\t”
quote 指定用于包围字符型数据的字符
dec 用来标识小数点的字符
fill 如果为TRUE且所有行中的变量数目并不相同,则用空白填补
row.names 保存着行名的向量,或文件中一个变量的序号或名字,默认时行号取为1、2、3···
col.names 指定列名的字符型向量,默认值为V1、V2、V3···
encoding 若文件中包含非ASCII字符字段,则使用此参数进行设置,可确保以正确的编码方式读取,避免出现乱码

更多高级选项包括:覆盖默认的行名、列名和类,指定输入文件的字符编码,以及输入的字符串格式的列如何声明

CSV文件——read.csv()

read.csv函数可读入一个逗号分隔文件并将其保存为一个数据框,其格式如下:

read.csv(file,header = TRUE,sep = “,”,quote = “” “,dec=” . ",fill = TRUE,comment.char = " ",ecoding = "unknown ",…)
参数 描述
file 文件名(包含在“”内,或使用一个字符型变量),可能需要全路径(即使是在Windows下,符号 \ 也不允许包含在内,必须用 / 或者 \ \ 替换)或者一个URL链接(用URL对文件远程访问)
header 一个逻辑值,用来反映这个文件的第1行是否包含变量名,为TRUE时表示文件的第1行为变量名
sep 文件中的字段分隔符,CSV文件默认为sep=","
quote 指定用于包围字符型数据的字符
dec 用来标识小数点的字符
fill 如果为TRUE且所有行中的变量数目并不相同,则用空白填补
comment.char 包含单个字符或空字符串的长度为1的字符向量,以这个字符开头的行将被忽略(要禁用这个参数,可使用comment.char=""
encoding 若文件中包含非ASCII字符字段,则使用此参数进行设置,可确保以正确的编码方式读取,避免出现乱码

与此相反的任务是写入文件,write.table和write.csv分别对应着read.table和read.csv的读操作

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • R语言开发之CSV文件的读写操作实现

    在R中,我们可以从存储在R环境外部的文件读取数据,还可以将数据写入由操作系统存储和访问的文件.这个csv文件应该存在于当前工作目录中,以方便R可以读取它, 当然,也可以设置自己的目录,并从那里读取文件. 我们可以使用getwd()函数来检查R工作区指向哪个目录,并且使用setwd()函数设置新的工作目录,如下: 输出结果如下: csv文件是一个文本文件,其中列中的值用逗号分隔,我们可以将以下数据保存入txt文件中,并且修改后缀名称为csv: id,name,salary,start_date,d

  • R语言文本文件读写(txt/csv/xlsx)

    本文主要介绍了R语言文本文件读写,分享给大家,具体如下: read.table(file,sep,hesder) #file 文件路径 #sep 分隔符 #header 第一行是不是列名(如果第一行是列名导入的时候填TRUE:默认值是FALSE,即把第一行算作数据) 准备工作 为方便后面使用的相对路径,我们先使用setwd(路径)设置路径,设置好之后可以用getwd() 获取当前路径进行检查. > setwd("F:/r-test-data") > getwd() [1]

  • R语言实现二进制文件读写操作

    二进制文件是一个文件,其中包含仅以位和字节形式存储的信息(0和1),它们是不可读的,因为其中的字节转换为包含许多其他不可打印字符的字符和符号,随便我们尝试使用任何文本编辑器读取二进制文件将显示为类似Ø和ð这样的字符. 但是二进制文件必须由特定程序读取才能使用.例如,Microsoft Word程序的二进制文件只能通过Word程序读取到人类可读的形式.这表明,除了人类可读的文本之外,还有更多的信息,如格式化的字符和页码等,它们也与字母数字字符一起存储.最后,二进制文件是一个连续的字节序列. 我们在

  • R语言-如何读写带分隔符的文件

    有众多的格式和文本文件标准可用于存储数据.用于存储数据的通用格式为分隔符值(即CSV或制表符分割文件).可扩展标记语言(XML).JavaScript对象表示法(JSON) 将数据存储在文本文件中的主要优点是:他们可被几乎所有的其他数据分析软件或人读取 R语言提供丰富的函数来读取不同格式的数据,包括: 文本文件(TXT文件) 逗号分隔文件(CSV文件) TXT文件--read.table() 矩形(类似电子表格的)数据通常存储在带有分隔符的文件中,特别是逗号分隔值(CSV)和制表符分隔值文件.r

  • R语言rhdf5读写hdf5并展示文件组织结构和索引数据

    前言 h5只是一种简单的数据组织格式[层级数据存储格式(HierarchicalDataFormat:HDF)],该格式被设计用以存储和组织大量数据. 在一些单细胞文献中,作者通常会将分析的数据上传到GEO数据库保存为.h5格式文件,而不是我们常见的工程文件(rds文件,表格数据等),所以为了解析利用这些数据需要对hdf5格式的组织结构有一定的了解. (注:在Seurat包中有现成的函数Seurat::Read10X_h5()可以用来提取表达矩阵,但似乎此外无法从h5文件中提取更多的信息). G

  • R语言读取xls与xlsx格式文件过程

    目录 1. ROOBC 2. xlsReadWrite 3. XLConnect 4. xlsx 1)装Java 2)装xlsx 3)实际使用 在数据分析的过程中,第一步就是读取数据. 通常我们遇到的数据是csv格式或者txt格式的数据,这时我们使用系统自带的read.csv()与read.table()就可对这些格式的数据进行读取,只是读取时需注意编码格式.对于大型csv格式的数据(当然小数据也可以),可以使用data.table包中的fread()进行读取可以极大地提升读取速度. 但当遇到了

  • R语言统计结果输出至本地文件的几种方法示例

    1.sink() 在代码开始前加一行:sink("output.txt"),就会自动把结果全部输出到工作文件夹下的output.txt文本文档.这时在R控制台的输出窗口中是看不到输出结果的.代码结束时用sink()切换回来. 示例: sink("a.txt") x<-rnorm(100,0,1) mean(x) sink() 注:此处输出为mean(x). 2.stargazer() library(stargazer) #导入数据 mydata <-

  • R语言批量读取某路径下文件内容的方法

    R刚入门的时候,能够正确读取单个文件就觉得小有成就,随着时间的积累,单一文件地读取已经不能满足需求了,此时,批量地做就是解放双手地过程. 使用for循环把下载地TCGA数据读入R语言并转换成数据框 使用三个for循环来完成,这是第一个for循环. 1. 把所有数据读入在一个文件夹中 dir.create("data_in_one") #创建目标文件夹,也可右键创建 dir("rawdata/") #查看原路径的内容 for (dirname in dir("

  • 使用R语言批量修改文件名的方法

    在R语言默认目录下有一文件夹test,其下有三个文件,分别是test1.txt, text2.txt, text3.txt, 现在要对这三个文件进行批量的修改.主要使用到了for 循环和sub()字符替换函数.思路是先通过list.files()函数将test文件夹下面的三个文件名读至变量,然后通过for循环来实现批量修改文件名. 1. 修改文件扩展名 folder<-setwd('~/test') files<-list.files(folder) for (f in files){ new

  • R语言:排序的应用操作

    工作中遇到过许多看起来挺复杂的数据筛选,本质上都可以用排序解决,这里以R自带的mtcar数据集为例做一个记录. 首先简单介绍一下mtcar数据集,mtcar(Motor Trend Car Road Tests)是一个32行11列的数据集,记录了32种汽车的11种性能,具体数据如下: > mtcars mpg cyl disp hp drat wt qsec vs am gear carb Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4 M

  • R语言对Web数据操作实例

    许多网站提供数据供其用户使用. 例如,世界卫生组织(WHO)以CSV,txt和XML文件的形式提供健康和医疗信息的报告. 使用R语言程序,我们可以从这些网站以编程方式提取特定数据. R语言中用于从网站中提取数据的一些包是"RCurl",XML"和"stringr",它们用于连接到URL,识别文件所需的链接并将它们下载到本地环境. 安装R语言的包 处理URL和链接到文件需要以下的包. 如果它们在R语言环境中不可用,您可以使用以下命令安装它们. install

随机推荐