真的,无论什么时候,你总会遇到一些奇奇怪怪的文件,要读取,一开始真的痛不欲生,自己总结了一小波,给自己储个粮~~~
如果有什么不对的小错误欢迎大家指出
关于文件类型~~
目前遇到的文件类型有 txt文件、 csv文件、xlsx文件、tsv文件、还有直接读取gz文件中txt文件、soft文件
文件类型 | R 语言的函数 | 需要打开的R包 |
---|---|---|
txt文件 | read.table("xxx.txt") | 无 |
csv文件 | read.csv("xxx.csv") | 无 |
xlsx文件 | read_xlsx("xxx.xlsx") | library(readxl) |
tsv文件 | read.delim("xxx.tsv") | 无 |
gz文件中txt文件 | read.table("xxx.txt.gz") | 无 |
soft文件 | getGEO( 'GSE42872_family.soft') | library(GEOquery) |
-
我有一个txt文件如下,将他读入R
AA=read.table("GSE42872_series_matrix.txt")
-
我有一个xlsx文件如下,将他读入R
library(readxl)# 函数read_xlsx基于R包 readxl----install.packages("readxl")
AA=read_xlsx("GSE42872_series_matrix.txt")
如果觉得打开R包过于麻烦
AA=readxl::![![a40e48dbf7da9012d2e3481f8ad982c.png](https://img.haomeiwen.com/i21180540/d6de77ffc9daa408.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
](https://img.haomeiwen.com/i21180540/d711f79ee5738178.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
read_xlsx("GSE42872_series_matrix.txt")
读写的参数~~
不是所以的文件都可以很规整,直接读入会导致数据丢失或者读入失败,有时候需要参数调整
1. header=TRUE|FALSE
TRUE表示含有属性的标题
FALSE表示不含属性的标题
- 如果第一行是列名导入的时候填TRUE;默认值是FALSE,即把第一行算作数据
2.sep=""
sep = ',' | sep = '\t' | sep = '/' | sep="" |
---|
根据文件具体情况选择切割符号【逗号,\t,/,空格键】
3. comment.char="!"
文件中“!”符号后面的内容不读取(具体例子可见GSE文件的读取)
也可以将" !"根据需求换成" # "
eSet =read.table('GSE42872_series_matrix.txt.gz',
sep='\t',quote = "",fill = T,
comment.char="!",header=T)
![](https://img.haomeiwen.com/i21180540/0c13a6c583e59326.png)
![](https://img.haomeiwen.com/i21180540/1841af830403a660.png)
补充参数(会持续更新~~~)
参数 | 解释 |
---|---|
row.names | 保存着行名的向量,或文件中一个变量的序号或名字,缺省时行号取为1,2,3,... |
col.names | 指定列名的字符型向量(缺省值是:V1,V2,V3,...) |
as.is | 控制是否将字符型变量转化为因子型变量(如果值为FALSE) , 或者仍将其保留为字符型(TRUE) .as.is可以是逻辑型, 数值型或者字符型向量,用来判断变量是否被保留为字符。 |
na.strings | 代表缺失数据的值(转化为NA) |
col Classes | 指定各列的数据类型的一个字符型向量 |
nrows | 可以读取的最大行数(忽略负值) |
skip | 在读取数据前跳过的行数 |
check.names | 如果为TRUE, 则检查变量名是否在R中有效 |
fill | 如果为TRUE且非所有的行中变量数目相同, 则用空白填补 |
strip.white | 在sep已指定的情况下, 如果为TRUE, 则删除字符型变量前后多余的空格 |
blank.lines.skip | blank.lines.skip =T, 忽略空白行 |
comment.char | 一个字符用来在数据文件中写注释,以这个字符开头的行将被忽略 |
记录自己曾经遇到的一个错误
![](https://img.haomeiwen.com/i21180540/0f3d94ff8bdd7033.png)
解决:AA=read.table("data_Seq_v2_expression_median.txt",header=T,seq="",fill=T)
网友评论