R语言小入门

R语言的更新

updateR()

R包的安装

install.packages("pheatmap")
或
require(pheatmap)  #load/install+load 包

Bioconductor的使用

options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/")	#设置Bio镜像
BiocManager::install("preprocessCore")

查看帮助

help(plot)
或
?pheatmap

清除命令窗内容

ctrl+L

清除工作空间的内存变量

rm(data)

rm(list=ls())  #清除所有变量

载入包

library(pheatmap)

工作路径的获取和设置

getwd()  #获取当前工作路径
setwd()  #设置工作路径

查看对象类型

class(obj)  #向量(Vertor),数据框(Frame),矩阵(Matrix),因子(Factor)。
mode(obj)  #逻辑型(Logical)、数值型(Numeric)、字符型(Character)。(因子型在mode函数下返回数值型)
           #数据框的模式是list,类是data.frame。

> mylist = list(a = c(1,2,3),b = c('a','b','c'),c = c(TRUE,FALSE),d = factor('house'));
> sapply(mylist,mode)  #列表允许多种模式的数据,若想获得各个组成部分的模式和类时,可以使用sapply函数。
          a           b           c           d
  "numeric" "character"   "logical"   "numeric"
> sapply(mylist,class)
          a           b           c           d
  "numeric" "character"   "logical"    "factor"

# 数据模式之间的转换:
as.character(a)  #转换为字符型
as.numeric(b)  #字符型转换数值型
as.logical(x)  #字符型转换逻辑型

# 数据类型的检测:
is.numeric(a)  #返回True/False
is.character(b)
is.logical(c)
is.factor(d)

typeof(obj)

组合向量

C = c(向量1,向量2,向量...)

载入csv文件

lines<-readLines('XX.csv')  #获取数据的行数

dataframe <-read.table("file_path",  #Windows下路径要用斜杠'/'或者双反斜杠'\\'
                       header=TRUE, 
                       sep=",",  ##变量间分割方式,CSV 为逗号分隔
                       stringAsFactors=FALSE,  #防止字符型数据读入时自动转换为因子
                       fileEncoding='utf-8',  #编码
                       comment.char='',  #指定读取文件中的注释字符,注释字符及其后不会被读取。
                       nrows=10,  #读取前10行数据和header
                       skip=2,  ##跳过前两行和header
                       strip.white = FALSE,  #去掉每个变量值首位的空白
                       na.strings = "",   #na.strings = c("NA","") 把所有想变成NA的量都写在c()向量里。  
                       blank.lines.skip = TRUE,    #跳过空白行? 
                       fill = TRUE,  #当各列变量数不一样时是否填补,默认为TRUE。注意补充的类型与读取文件后,程序判定的列变量类型有关,如果列变量是数字会用NA,如果是字符则会用"",不会用NULL填补也不能用is.null()检查。
                      ) 
或
dataframe = read.csv("file_path", header = True)  #该函数其实是封装的read.table函数,同时设置read.table函数的sep参数为逗号(",")。

# 将第一列设为行名
rownames(dataframe) = dataframe[,1]  #取出第一列并设为行名
dataframe = dataframe[,-1]  #删除第一列

读取Excel文件

library(readxl)  #readxl包
dataframe = read_excel("excel.xls",
            sheet="data",  #或sheet=2指定sheet名或者数字
            na = "NA",  # If NAs are represented by something other than blank cells, set the na argument
            )

导出csv文件

write.csv(data,
          file = "fiel_path",
          sep = ",",
          na = "NA",  #na为制定缺失值由什么代替
          quote = TRUE, #quote=FALSE:消除字符串 分类变量 的引号标志
          dec = ".",
          append= FALSE,  #append=FALSE:为写入到新的文件里,TRUE为追加到已有文件。
          )

写入剪切板

write.table(data,"clipboard",sep="\t",col.names=NA,)  #将 data 写入内存剪切板,ctrl+v 可得

导出图片

# 导出jpeg格式
jpeg("file_name.jpeg",width = 700,height = 290)  #开启图形设备
plot()   # 绘图代码
dev.off()  #关闭图像设备,同时储存图片

# 导出svg格式
svg("file_name.svg",width = 700, height = 200)
pheatmap(data)  #绘图代码
dev.off()
# 其余导出pdf、png等方法类似

提取行名和列名

rownames(dataframe)    # 以列表形式返回行名
colnames(dataframe)    # 以列表形式返回列名

导出和读取R对象

# 单个R对象的导出和读取————.rds
saveRDS(data, file = "file_name.rds")
data <- readRDS(file = "file_name.rds")  #还原对象的对象名称不必与存储对象时的对象名称相同。

# 多个R对象的导出和读取————.Rdata
save(data_1, data_2, file = "file_name.Rdata")
load("file_name.Rdata")  
posted @ 2021-03-06 20:40  我只鹅  阅读(299)  评论(0)    收藏  举报