05. 文件读写

46 篇文章 6 订阅
本文介绍了R语言中如何处理文件,包括CSV和TXT格式的读取与导出。强调了R语言在读取文件时对列名的处理,如检查特殊字符和识别行名,并展示了如何通过设置参数解决这些问题。此外,还讲解了Rdata格式的保存与加载,以及rio包在文件读写中的便利性。最后提供了练习题,巩固文件操作技能。
摘要由CSDN通过智能技术生成

05. 文件读写

补充

#R语言提示词中文改英文,源头上需要从安装上解决,否则每次重启R语言时需要运行以下代码
Sys.setenv(LANGUAGE='en')
#列出目前所有变量       
ls()
#清除所有变量
rm(list=ls())
#加载R包时require和library的区别,!require()不仅可加载包还可返回逻辑值告知安装是否成功

1.认识csv格式

win10显示文件扩展名

打开方式

(-)默认excel

(二)记事本打开

(三)sublime(适用大文件)

  • 打开不卡顿

(四)R语言读取

  • 表格文件读入到R语言里,就是个数据框
  • 对数据框进行的修改不会同步到表格文件

2.认识分隔符

  • 常见:逗号、空格、制表符(\t)

  • 一般的文件不需要自己写分隔符

3.将表格文件读入R语言,成为数据框

##文件读取
read.csv("文件名.csv")   #通常读取csv格式
read.table("文件名.csv") #通常用于读取txt格式

a=read.csv("文件名.csv") #需要赋值!!

###直接读取如果失败(行名,列名没对应上),就需要指定一些参数
#1.读取ex1.txt
ex1=read.table("ex1.txt")#默认参数没有把列名识别出来(没放在列名位置)
ex1 = read.table("ex1.txt",header = T)#header=T--将第一行作为列名,R严格区分列名和第一行

#2.读取ex2_B_cell_receptor_signaling_pathway.csv
ex2=read.csv("ex2_B_cell_receptor_signaling_pathway.csv")
 #行名没被识别,列名里的-被换成了.
ex2 = read.csv("ex2_B_cell_receptor_signaling_pathway.csv",
               row.names = 1,
               check.names = F)
 #把第一列识别为行名,不要检查列名里的特殊字符(保持列名不变)

#3.读取GSE32575_series_matrix.txt,赋值给gse。
gse=read.table("GSE32575_series_matrix.txt")
 #txt里的前面有!开头的若干注释行
gse=read.table("GSE32575_series_matrix.txt", comment.char = "!")
 #跳过!开头的注释行;行名列名还未被识别
gse = read.table("GSE32575_series_matrix.txt",
                 comment.char = "!",
                 row.names = 1,
                 header = T)
as.matrix(gse)#没赋值就没有发生过
gse=as.matrix(gse)#要赋值了才把gse转换为矩阵
  
  #4.描述gse的属性
dim(gse)
colnames(gse)
rownames(gse)

4.将数据框导出,成为表格文件

    • csv格式:write.csv()

    • txt格式:write.table()
      • 例:write.table(test,file="excample.txt")
##数据框导出
write.csv()  ##csv
  write.csv(test,file="excample.csv")

write.table()  ##txt格式
  write.table(test,file="excample.txt")

#5.将gse导出为新的txt和csv文件。
write.csv(gse,file = "gse.csv")
write.table(test,file="gse.txt")

5.R特有的数据格式:Rdata

    • 是R语言特有的数据存储格式,无法用其他软件打开
    • 保存的是变量,不是表格文件,所以不涉及赋值
      • x=load("example.Rdata")
##保存和加载
save(x,y,file="example.Rdata")  #file前面可以写多个变量
load("example.Rdata") ##存成Rdata后用load加载很方便,不需要设置行名,列名
                      ##可以整存整取

#6.将gse保存为Rdata并加载。
save(gse,file = "zz.Rdata")
load("zz.Rdata")
  • Rproject的组织形式

补充

R语言能读取的文件格式

用于读取/导出文件的R包

  • 除了base是R自带,其他的函数要使用要先装相应的包
##rio这个包对于文件读取导出很方便
install_formats('arrow','feather','fst','hexView','pzfx','readODS','rmarkdown','rmatio')
library(rio)
export(a,file = "a.xlsx")#直接存成excel表格
import("a.xlsx")

注意事项

  • 读取→编辑修改→导出,不要覆盖原文件!!!
  • 让代码可重复,数据可重现

获取工具目录的位置:getwd()
常见报错:找不到文件

练习5-1

##练习5-1:文件的读取和导出
#1.读取complete_set.txt(已保存在工作目录)
read.table("complete_set.txt")
a=read.table("complete_set.txt")#列名未识别
a=read.table("complete_set.txt",header = T)
str(a)#查看a的内容
#2.查看有多少行,多少列
row(a);col(a);dim(a)
#3.获取行名和列名
colnames(a)
rownames(a)
#4导出为csv格式
write.csv(a,"complete_set.csv")
#5.保存为Rdata
save(a,file="complete_set.Rdata")#file=不能省略
#6.加载class.Rdata,查看数据结构,数据类型
load('class.Rdata')
class('class.Rdata')#查看数据结构

##如果误用了save存csv,save(a,file="a.csv"),可用load把它加载出来
save(a,file="a.csv")
load('a.csv')

文件读取

R语言严格区分列名

R语言的列名不允许出现特殊字符,如—,会自动转化为别的(默认设置,可以更改) check.names()=F

列名正确识别,但行名没有,且R语言自动填充 row.names=1时,第一列就会被识别为行名

小数点位数

注释参数设置:comment.char="!"

header="T" 第一行识别为列名

读取时会是乱码,应该用load导入,名字只是假象

后三者不考虑行名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangchuang2017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值