Bootstrap

R基础_读入输出文件

生信技能树学习笔记

  1. 文件名称必须带有引号

  • NaN 非数值

  • Inf 正无穷 例如log2(0)

  • -Inf 负无穷

  1. 解决问题

1)检查代码和环境:代码错误?工作目录?重启session或R或电脑

2)找不同:比较数据

  • 比较正确数据和报错数据:

  • 异常值?重复值?非法输入?数据类型?数据结构?

3)搜索error:后面的内容

4)有效提问

  • 前因后果目的,代码数据报错截图,做过的尝试

  1. csv 文件打开方式:excel,记事本,sublime,R读取

  1. 分隔符: 常见有 逗号 空格 制表符(\t)

  1. 纯文本文件的后缀没有意义,只是约定俗成,起提示作用,不起决定性作用

  1. 读取和赋值同时,如果直接读取失败,需要指定一些参数

  • read.csv("ex2.csv",row.names = 1,check.names = F) 读取csv格式

  • soft2 <- read.table("soft.txt",header = T,sep = "\t")读取txt格式

  • soft3 <- data.table::fread("soft.txt",data.table = F)

  • reas.table("ex1.txt",header = T)

  • rio::export(soft3,file = "soft3.xlsx")

  • soft4 <- rio::import(file = "soft3.xlsx")

  1. 将数据框导出,成为表格文件。不要覆盖原文件

  • csv格式:write.csv(soft,file = "soft.csv")

  • txt格式:write.table(soft,file = "soft.txt")

  1. R特有的数据保存格式:.Rdata

  • save(test,file="example.Rdata")

  • load(file=../" 文件路径")不需要赋值 .. 上一级文件目录

  1. 读取文件时,如果默认参数不适合该文件,会报错

  1. 矩阵,只允许存在一种数据类型,字符型级别高于与数值型

  1. 要经常检查数据类型

#文件读写部分
#1.读取ex1.txt
ex1 <- read.table("ex1.txt")
ex1 <- read.table("ex1.txt",header = T)
#2.读取ex2.csv
ex2 <- read.csv("ex2.csv")
ex2 <- read.csv("ex2.csv",row.names = 1,check.names = F)
#check.name 不改变列名。 因为有特殊字符- 所以会被R改成.

#注意:数据框不允许重复的行名
rod = read.csv("rod.csv",row.names = 1)
rod = read.csv("rod.csv")
#需要先去除重复内容再设置行名

#3.读取soft.txt
soft <- read.table("soft.txt")
soft <- read.table("soft.txt",header = T,fill = T) #其实不对 会改变列的内容
soft2 <- read.table("soft.txt",header = T,sep = "\t")#制表符分割

#4.soft 的行数列数是多少?列名是什么
dim(soft)
colnames(soft)

#5.将soft导出为csv
write.csv(soft,file = "soft.csv")

#6.将soft保存为Rdata并加载。
save(soft,file = "soft.Rdata")
rm(list = ls())
load(file = "soft.Rdata")
;