前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >生信技能树 Day5 文件读写

生信技能树 Day5 文件读写

原创
作者头像
用户11064093
发布2024-04-14 18:16:43
830
发布2024-04-14 18:16:43

文件读写

1. 用project管理工作目录

报错:文件不在工作目录下 no such file or directory/拼写错误(tab补齐或复制)
显示文件后缀

2.文件读取

代码语言:r
复制
# read.系列函数
# read.table() 读取txt格式
# read.delim() 读取txt格式,比table少报错
# read.csv() 读取csv格式

R语言不能直接处理文件,要先转换为R语言对象

行名列名是数据框的属性,可以设置,不是数据

代码语言:r
复制
#1.读取ex1.txt
ex1 <- read.table("ex1.txt") # 列名变成了表格的正式内容,数值列因列名的加入变成了字符
ex1 <- read.table("ex1.txt",header = T) # 文件有列名的话让列名归位
代码语言:r
复制
#2.读取ex2.csv
ex2 <- read.csv("ex2.csv") # 行名当成了第一列并加了列名x;列名中_特殊字符被转化为.
ex2 <- read.csv("ex2.csv",row.names = 1,check.names = F) # 设置第一列为行名;不自动检查列名
## 注意行名不能重复,如果报错可以把去除重复值(两行求平均合并)

R语言转换完要检查一下,看行列名数据有没有变化,及时调整参数改正

3. 数据框导出

代码语言:r
复制
write.csv(ex2,file = "example.csv")
write.table(ex2,file = "example.txt") # 写文件名的时候把后缀带上

4. 其他读取/导出文件的R包 import最推荐

代码语言:r
复制
#用data.table来读取
library(data.table)
代码语言:r
复制
ex1 = fread("ex1.txt")
class(ex1)
代码语言:r
复制
## [1] "data.table" "data.frame"
代码语言:r
复制
ex1 = fread("ex1.txt",data.table = F)
class(ex1)
代码语言:r
复制
## [1] "data.frame"
代码语言:r
复制
ex2 = fread("ex2.csv",data.table = F)
##不支持直接设置行名,设置行名用下面函数实现
library(tibble)
ex2 = column_to_rownames(ex2,"V1") # 把V1列设为行名
代码语言:r
复制
#rio
library(rio)
#一个函数支持读取很多格式,见帮助文档
ex1 = import("ex1.txt") ### 最推荐的函数
#一个函数支持导出很多格式,见帮助文档
export(ex1,file = "ex1.xlsx")

注意:一定要经常检查数据,注意读取之后是数据框还是矩阵,取完列里面是数值还是字符,处理完是什么类型等等

R语言能够读取多种文件格式

引用自生信技能树

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文件读写
    • 1. 用project管理工作目录
      • 报错:文件不在工作目录下 no such file or directory/拼写错误(tab补齐或复制)
      • 显示文件后缀
    • 2.文件读取
      • 3. 数据框导出
        • 4. 其他读取/导出文件的R包 import最推荐
          • R语言能够读取多种文件格式
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档