R语言入门-文件的读取操作和导出


title: “文件的读取操作和导出”
output: html_document
date: “2024-03-09”

knitr::opts_chunk$set(echo = TRUE)

文件的读取

在这里插入图片描述

read.csv("ex3.csv")  #通常读取csv文件 读取文件必须加""
read.csv(ex3.csv) #Error: object 'ex3.csv' not found
read.table('ex1.txt')# 通常读取txt文件
read.delim("GSE217012_Normalized_RPKM_LOG2_matrix.txt.gz")#相对于table 使用范围更广,压缩文件不需要解压

install.packages("readxl") #读取excel文件
library("readxl")
data <- read_excel("d1.xlsx")
data <- read_excel("d2.xlsx")

文件的读取-(操作)-导出 操作前一定将其命名为新的name eg:DOU1

-读取电脑的表格文件并对表格文件进行处理 以.csv .txt文件为例
-我们使用的表格文件为两种 .csv文件和.xlsx(excel)文件 前者为纯文本文件

DOU1 <- read.csv("ex3.csv") #1.先读取数据,并将其保存为一个名为DOU1的数据框
write.csv(DOU1, file = "DOU1.csv",row.names = F) #2.再将其导出为DOU1.CSV文件
write.csv(DOU1,file = "DOU1", row.names = T) ##F:将第一列作为列名,T:不将第一列作为列名

DOU2 <- read.csv("ex1.txt") #1.先读取数据,并将其保存为一个名为DOU2的数据框
write.csv(DOU2,file = "DOU2.txt", row.names = FALSE) #2.再将其导出为DOU1.txt文件
write.csv(DOU2,file = "DOU2.txt", row.names = T) 

文件的读取-(操作)-导出 操作:删掉表格前4列

read.delim("GSE217012_Normalized_RPKM_LOG2_matrix.txt.gz")
x <- read.delim("GSE217012_Normalized_RPKM_LOG2_matrix.txt.gz",row.names = 1,check.names = F)
colnames(x) #查看列名
x2 = x[ !(1:4)]
x2=as.matrix(x)
class(x2)

R语言内部文件.Rdata的保存与加载 使用环境:需要同时打开多个.Rdata文件

load("y.Rdata")
load("Rd1.Rdata")
save(y,Rd1,file = "RRd1.Rdata")
load("RRd1.Rdata") ##打包后在环境窗口中会同时加载出来

table文件的读取与处理

Tdou1 <- read.table("ex1.txt",header = T)##*header = T*归位列名
load("Tdou1.txt")
Tdou2 <- read.csv("ex2.csv",row.names = 1,check.names = F)#*header = T*归位行名,*check.names = F*不要检查列表中的特殊字符
load("Tdou2.txt")

以上是R包默认的读写方式 一些优秀R包创作者的读写命令如下fread rio

#data.table
ex1 = data.table::fread("ex1.txt")
class(ex1)
ex1 = data.table::fread("ex1.txt",data.table = F)
class(ex1)
#rio
library(rio)
#读取
ex1 = import("ex1.txt")
#读取多工作簿的excel
ls2 = rio::import_list("ls.xlsx")
#导出为普通表格文件
export(iris,file = "iris.csv")
#导出列表
ls = split(iris,iris$Species)
export(ls,file = "ls.xlsx")

-小tips注意:数据框不允许重复的行名

rod = read.csv("rod.csv",row.names = 1)
rod = read.csv("rod.csv")  #将row.names = 1默认去除行名重复者

-练习 矩阵转数字型进行计算

load("y.Rdata")  # 从工作目录加载y.Rdata文件
mean(y$ c("gene1"))
## Error in y$c : $ operator is invalid for atomic vectors
class(y)
## [1] "matrix" "array"  #说明该表格是矩阵 所以无法用$
x <- y[ ,"gene1"]
x
## GSM1 GSM2 GSM3 GSM4 GSM5 GSM6
## "40" "20" "51" "46" "38" "49"
mean(as.numeric(x))
## [1] 40.66667

引自生信技能书,感谢小洁老师!

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值