1.环境设置
在R语言中一般以来Rstudio进行操作。我们需要从Rstudio中新建R project,即运行环境:
有关Python的报错不需要管,你可以选择安装,或者找别的教程取消报错。
在建立起R project之后,我们需要新建脚本运行代码。一般在脚本中逐行RUN。
#即为注释,不运行
R project文件夹可以移动,双击Rproj格式文件即可重置默认位置。
注意用Rproject管理文件,不然会引起报错
通常使用以下代码清除环境变量:
rm(list = ls())
2.报错或警告等异常
3.R特有的变量保存格式:Rdata
用于储存有用的变量,准备下次再用
save(g,s,file="gands.Rdata")
将g,s两个变量存储在gands.Rdata中
load("gands.Rdata")
加载
4.环境变量的删除
# 删除
rm(x)
rm(df1,df2)
rm(list = ls())
5.R语言代码与数据不相匹配,优先修改数据
6.文件显示后缀win10/win11
7.文件读取与导出
7.1读取
使用read函数进行读取文件txt,csv。
#1.读取ex1.txt
ex1 <- read.table("ex1.txt")#默认第一行不作向量名
#使第一行成为向量名
ex1 <- read.table("ex1.txt",header = T)
同理:
#2.读取ex2.csv
ex2 <- read.csv("ex2.csv")
如出现表头与Excel不同,行名存在于第一列,可通过以下代码修正:
ex2 <- read.csv("ex2.csv",row.names = 1,check.names = F)
或
m2 = tibble::column_to_rownames(m2, "ID_REF")
注意,不允许行名重复:
示例:
1.读取GSE217012_Normalized_RPKM_LOG2_matrix.txt.gz(已保存在工作目录)
x1 = read.delim("GSE217012_Normalized_RPKM_LOG2_matrix.txt.gz",check.names = F)
x2 = data.table::fread("GSE217012_Normalized_RPKM_LOG2_matrix.txt.gz",data.table = F)
x3 = rio::import("GSE217012_Normalized_RPKM_LOG2_matrix.txt.gz")
7.2使用write函数导出
#3.数据框导出
write.csv(ex2,file = "example.csv")
write.table(ex2,file = "example.txt")
7.3 其他包的读取函数
data.table
#用data.table来读取
library(data.table)
ex1 = fread("ex1.txt")
class(ex1)
ex1 = fread("ex1.txt",data.table = F)#不要data.table格式
class(ex1)
ex2 = fread("ex2.csv",data.table = F)
#没有直接设置行名的参数
library(tibble)
ex2 = column_to_rownames(ex2,"V1")
rio
#rio,很适合Excel,大家最好用它
library(rio)
#一个函数支持读取很多格式,见帮助文档
ex1 = import("ex1.txt")
#一个函数支持导出很多格式,见帮助文档
export(ex1,file = "ex1.xlsx")
补充:1.如果文件不位于project环境中怎么办?
a=read.delim("../生信技能数教程/DAY3-4/R_02/GSE217012_Normalized_RPKM_LOG2_matrix.txt.gz")#../表示上一级,也可用绝对路径
read.delim可读取压缩文件
2.想要跳过某行删除某行怎么办?
a=read.delim("GPL19978.txt",skip = 8,comment.char"!")#跳过前8行,!为注释语句,不读取
b=data.table::fread("GPL19978.txt",skip = 8)
d = rio::import("GPL19978.txt",skip = 8)
read.delim("GPL19978.txt",skip = 8)
a2 = a2 [-nrow (a2),]#去掉最后一行
有空行怎么去?
k=ids$circRNA!=""
ids1 = ids[k,]
8.如何统一加载包?
9.使R语言变成英文
Sys.setenv(LANGUAGE = "en")
10.括号太多分不清?彩虹括号来帮你
11.If函数:长脚本的管理
引用自生信技能树