您的位置:首页 > 其它

R语言与生物信息绘图1:基础介绍——数据类型及其简单用法

2020-04-24 08:07 399 查看

基础介绍——数据类型及其简单用法

本文中涉及的全部代码有:

data() #得到R语言内置数据集
class(rivers) #查看向量rivers的数据类型
plot(rivers) #画向量rivers的散点图
hist(rivers) #画向量rivers的直方图
class(state.abb) #查看向量state.abb的数据类型
pie(table(state.region)) #用table函数统计一下state.region这个向量,得到一个饼图
yanse <- c("red","green","blue","yellow") #定义yanse变量
pie(table(state.region),col = yanse) #把yanse这个向量传递给pie函数中的col选项
labs <- c("NC","S","N","W") #设置只一个labs字符向量
pie(table(state.region),col = yanse,labels = labs)  #将其传给pie函数中的labels选项
class(state.division)  #查看向量state.division的数据类型
plot(mtcars$cyl,mtcars$disp) #取mtcars数据集中的cyl和disp这两列来绘散点图
plot(as.factor(mtcars$cyl),mtcars$disp) #把其中的cyl使用as.factor函数转化成因子
class(state.x77) #查看向量state.x77的数据类型
heatmap(state.x77) #将矩阵向量state.x77画成热图
heatmap(as.data.frame(state.x77)) #将矩阵转化成数据框
fit <- lm(weight ~ height,data = women) #简单的线性回归的案例:fit等于lm函数,weight变量~height变量,data等于数据集women。
#lm(Linear Models)是用来适应线性模型的。它可用于进行回归、单层分析方差分析和协方差分析。
plot(fit)

正文:

在R console中输入

data
函数,就可以得到R语言内置数据集。

data()

然后就可以看到按字母顺序的内置的数据集:

我们在学习R语言绘图的时候要时刻知道

输入数据的结构和类型
。可以使用
class
函数来查看。例如:

数值向量可以直接用来画点图,饼图,条形图,直方图等。

在R console中敲

class(rivers)


结果返回:numeric,表明这是数值类型的向量。

数值向量可以直接用来画点图,饼图,条形图,直方图等。

例如,在R console中敲

plot
(rivers),绘制散点图

plot(rivers)

即可出现:

例如,在R console中敲

hist
(rivers),绘制直方图

hist(rivers)

即可出现:

字符串类向量数据主要用在画图中的label标签部分或用于设置不同颜色等

接下来,在R console中敲

class
(state.abb)

class(state.abb)

返回的结果是:character,即字符串类向量。

字符串类向量数据主要用在画图中的label标签部分或用于设置不同颜色等
比如每条染色体的名字等。

例如,在R console中敲

pie
函数,

pie(table(state.region))

table
函数统计一下state.region这个向量,就可以得到一个饼图:

但是感觉颜色不好看。那么我们就可以设置一个字符向量,里面包含我们需要的颜色。
例如,定义一个变量:

yanse <- c("red","green","blue","yellow")

接下来,我们把这个向量传递给

pie
函数中的col选项

pie(table(state.region),col = yanse)

就可以得到:

这个颜色其实也不好看,之后会介绍如何在R中设置好看的颜色。

我们还可以再设置只一个labs字符向量

labs <- c("NC","S","N","W")

然后将其传给

pie
函数中的labels选项:

pie(table(state.region),col = yanse,labels = labs)

就可以得到:

因子是用来分组的向量

在R console中敲

class
(state.division)

class(state.division)

返回的结果是:factor,即因子,因子是一类特殊的向量。

因子是用来分组的向量。

比如,处理组与对照组,或不同样品之间来进行比较,例如不同染色体长度分布的条形图等,这些地方都会用到factor向量

例如:我们取mtcars数据集中的cyl和disp这两列来绘图

plot(mtcars$cyl,mtcars$disp)

cyl和disp表示不同发动机汽缸数目与发动机排量之间的关系。这两个数据集都是向量,这样画出来的是一个散点图:

如果我们把 其中的cyl使用

as.factor
函数转化成因子

plot(as.factor(mtcars$cyl),mtcars$disp)


所以,以后看见这种分组展示数据的图,就该知道,x轴应该是“因子”的数据类型。

接下来是矩阵,矩阵在R中特别适合绘制热图。用基因表达的数据,经常用到热图。

在R console中敲

class
(state.x77)

class(state.x77)


返回的结果是:matrix,即矩阵,矩阵在R中特别适合绘制热图。用基因表达的数据,经常用到热图。

heatmap(state.x77)


如果将矩阵转化成数据框

heatmap(as.data.frame(state.x77))

就会提示错误:x必须为数值矩阵(才能够画热图)。

此外,R中还经常包括对各种测定结果进行绘图,例如线性回归等

例如一个简单的线性回归的案例:fit等于

lm
函数,weight变量~height变量,data等于数据集women。

fit <- lm(weight ~ height,data = women)

这个结果中,fit是lm类型的函数。

lm(Linear Models)是用来适应线性模型的。它可用于进行回归、单层分析方差分析和协方差分析。

直接使用plot函数来绘制

plot(fit)


这样就会出现四张图:




这是对特定数据类型有特定的绘图函数。
总之,对于用R语言作图,了解数据结构非常重要,在使用每个绘图函数的时候,首先需要知道,输入的数据结果才能绘出正确的图。

  • 点赞
  • 收藏
  • 分享
  • 文章举报
Lincoln_redwine 发布了10 篇原创文章 · 获赞 1 · 访问量 954 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: