R语言基础知识笔记

Python063

R语言基础知识笔记,第1张

1、向量是用于存储数值型,字符型或者逻辑型数据的一维数组。执行组合功能的函数为c(),可以用来创建向量。向量可根据位置进行索引,需要用[]。

2、矩阵是一个二维数组,每个元素都拥有相同的模式,可通过函数matrix()创建矩阵。

3、数组是一个可以在两个以上维度存储数据的数据对象。例如,如果创建尺寸(2,3,4)的数组,那么就是创建4个矩形矩阵每个2行3列。数组只能存储数据类型。

4、矩阵和数组一样都只能包含一种数据类型,当有多种模式的数据时,使用数据框就更为方便。数据框可以用函数data.frame () 创建。

5、$  被用来选取一个给定数据框中的某个特定变量

6、attach()绑定数据集,detach()解除数据集。

7、with:attach,detach最好在单独的数据框内使用,在多个同名对象最好不要使用,函数with(),可以再具有多个同名对象的数据框内使用,但是必须加入花括号{},这样就无须担心名称冲突了,但是它也有局限性,赋值仅在此函数的括号内生效。

8、列表是一些对象的有序集合。

9,、数据导入 read.table(),其中header = T,代表第一行为变量名称,不作为数据,header = F相反。sep代表数据分隔符,txt为"\t",csv为","。

10、table函数,用 table() 函数统计因子各水平的出现次数(称为频数或频率)。

>sex = c("女","女","女","男","男")

>table(sex)

>sex

  男 女

  2 3

求众数

>aim = table(sex)[table(sex)==max(table(sex))]

>aim

  女

   3

> max(table(sex))

[1] 3

> table(sex)==max(table(sex))

  sex

  男    女

  FALSE TRUE

11、 无尺度网络: 是指在某一复杂的 系统 中,大部分节点只有少数几个连结,而某些节点却拥有与其他节点的大量连结。这些具有大量连结的节点称为“集散节点”,所拥有的连结可能高达数百、数千甚至数百万。这一特性说明该网络是无尺度的,因此,凡具有这一特性的网络都是无尺度网络。

12、options(stringsAsFactors = F)

#在调用as.data.frame的时,将stringsAsFactors设置为FALSE可以避免character类型自动转化为factor类型。

13、class():查看数据结构:vector、matrix、array、dataframe、list。

14、str():作用用英语来表示是:check classification of viriables,一般用于检查数据框当中有哪些数据。

15、mode() :查看数据元素类型。

16、typeof() :查看数据元素类型,基本等同于mode(),比mode()更为详细。

17、example():假设有一个函数foo,example("foo"),函数foo的使用示例。

18、apropos():列出名称中含有foo的所有可用函数。apropos("foo",mode="function")。

19、data():列出当前已加载包中所含的所有可用示例数据集。

20、ls():列出当前工作空间中的对象。

21、rm():移除(删除)一个或多个对象。

22、history(#):显示最近使用过的#个命令(默认值为25)。

23、options():显示或设置当前选项。有一个收藏文件有介绍options的功能。

24、boxplot():生成盒型图。

25、sum():计算和。sum(x,na.rm = TRUE)。

26、median():计算中位数。

27、cbind():以列结合变量。cbind(x,y,z)。

28、rbind():以行结合变量。

29、vector():以向量形式结合数据。vector(length = 10)。

30、rep():以矩阵形式结合数据。rep(c(1,,2,3),each = 10)

31、seq():生成一个有序的数列。seq(1,10)。

32、dim():矩阵或者cbind输出的维数。dim(Mydata)。

33、scan():从ascii文件中读取数据。scan(file = "test.txt")。

34、write.table():把一个变量写入到ascii文件。write.table(Z,file = "test.txt")。

35、order():确定数据的顺序。order(x)。

36、merge():合并两个数据框。merge(x,y,by = "ID")。

37、str():显示一个对象的内部结构。str(Mydata)。

38、factor():定义变量作为因子。factor(x)。

39、tapply():tapply(X = Veg$R,INDEX = Veg$Transect,FUN = mean).tapply函数根据第二个变量(Transect)的不同水平对第一变量(R)进行了求平均值运算。还可以求sd,var,length等操作。R语言初学者指南P75详细介绍了这个函数。

40、下一页介绍了sapply和lapply。

41、summary():计算基本信息。

42、table():计算列联表,统计因子各水平的出现次数(频数或频率)。table(x,y)。

43、plot():y对x的图形。pch形状,col颜色。

44、par():par(mfrow = c(2,2),mar = c(3,3,2,1))

mfrow生成一个具有4个面板的图形窗口。mar选项指定每个图形周围空白的大小,底部、左侧、顶部、右侧。

45、paste():将变量连接成字符串。paste("a","b",sep = "")。

46、log(): log = "x",log = "y",log = "xy",生成对数轴。

47、%in%:

a<-c(1,3,13,1443,43,43,4,34,3,4,3)

b<-c(1,13,11,1313,434,1)

a%in%b

# 返回内容# 

[1] TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

# 取反操作

!(a%in%b)

48、sort()函数是对向量进行从小到大的排序

rank()函数返回的是对向量中每个数值对应的秩

order()函数返回的值表示位置,依次对应的是向量的最小值、次小值、第三小值……最大值等(位置索引)

arrange()函数(需加载dplyr包)针对数据框,返回基于某列排序后的数据框,方便多重依据排序。

49、subset(): df <- data.frame( a = 1:10, b = 2:11, c = 3:12 )

df <- subset(df, select = c(a,c)) #选取列a和c

df <- subset(df, select = -c(a,c) ) #去除列a和c

通过par()设定图形参数,设定后将对当前所有图形参数有效,而在绘图函数中指定的参数则仅对那个特定图形有效。

函数:par(...,no.readonly = FALSE) 通过设定函数par()的各个参数来调整图形。

...,表示需要设定的图形参数,"参数名=取值"或"赋值参数列表"形式的变量。

no.readonly逻辑变量,如果是TRUE且没有其他变量,则返回当前绘图设备下已设定好的绘图参数。 13

可以使用图形参数来指定绘图时使用的符号和线条类型。

选项pch=用于指定绘制点时使用的符号。

选项lty=用于指定想要的线条类型。

可选取的值见下图。

在R中,可以通过颜色下标、颜色名称、十六进制的颜色值、RGB值或HSV值来指定颜色。查看系统中所有可用颜色colors(),也可写为colours()。

函数rgb()可基于红---绿---蓝三色值生成颜色。 14 函数:rgb(red, green, blue, alpha, names = NULL, maxColorValue = 1)

红、绿、蓝三色的取值范围在0-1之间,alpha设置透明度,0代表完全透明,1代表完全不透明。names用于指定生产颜色的名称。

palette()调色板。

默认是8种颜色,即:"black"、"red"、"green3"、"blue"、"cyan"、 "magenta"、"yellow"、"gray",并且循环引用。

hsv()则基于色相(Hue)-饱和度(Saturation)-亮度(Value)值来生成颜色。

函数:hsv(h = 1, s = 1, v = 1, alpha)

h,s,v的取值为0-1之间。

R中也有多种用于创建连续型颜色向量的函数, 包括rainbow()、heat.colors()、 terrain.colors()、 topo.colors()以及cm.colors()。

图形参数同样可以用来指定字号、字体和字样。

参考资料:

R中设置图形参数--函数par()详解, https://blog.csdn.net/qingchongxinshuru/article/details/52004182

R语言基础图形元素------颜色, https://blog.csdn.net/qq_40794743/article/details/107746723

setwd("E:/GSE25066")#环境设置

library(limma)#加载差异分析包limma

#将分组文件加载到环境中,分组信息第一列为样本名,第二列为分组信息如“high”“low”

targets<-read.csv("group.csv")

#将表达矩阵加载到环境中,行为基因,列为样本,这里应该注意去除重复项。

eset<-read.csv("expreset-basal1.csv",row.names = "symbol")

targets$Target=gsub("_",".",targets$Target)##若数据中存在特殊符号,将"_"替换成“.”,也可以不替换

##该数据集中实际存在不符合R的命名原则,所以在没个分类前加一个“F”,具体自己定

targets$Target=c(paste0("F",c(targets$Target),collapse = NULL,sep=""))

colnames(targets)=c("FileName","Target")#更改列名,为了和limma包中的一致

lev<-unique(targets$Target)##使用unique()函数进行去重

f <- factor(targets$Target, levels=lev)

design <- model.matrix(~0+f)

colnames(design) <- lev

cont.wt <- makeContrasts("high-low",

                      +  levels=design)

fit <- lmFit(eset, design)#前面矩阵的row.name=“symbol”

fit2 <- contrasts.fit(fit, cont.wt)

fit2 <- eBayes(fit2)

tT=topTable(fit2, adjust="BH",sort.by="logFC",n=Inf)

tT = subset(tT, select=c("adj.P.Val","P.Value","logFC"))

colnames(tT)=c("FDR","P.Value","logFC")

write.csv(tT,"DEGbasal.csv")

#最后的tT就是得到的差异基因,其中包含基因,P.Value和logFC