a<-rnorm(100)
#卡方分布图
b<-dchisq(a,1) #变换为卡方分布
hist(b)
#t分布图
c<-dt(a,1,0)#变换为t分布
hist(c)
#F分布图
d<-df(a,1,1,0)#变换为f分布
hist(f)
R语言绘图系列:
标度控制着数据到图形属性的映射,标度将我们的数据转化为视觉上可以感知的东西,比如大小、位置、颜色、形状等。标度也为我们提供了读图时所使用的工具,比如说坐标轴和图例。总的来说,可以称为引导元素。标度函数控制元素的属性,可以理解为图形的遥控器,可以用它来调整画布大小、颜色等等。此前学的shape,color,size等参数和标度函数相比显得不够灵活。
scale_fill_brewer 调色板函数
geom_errorbar()
geom_crossbar()
geom_linerange() 绘制线段
geom_pointrange() 绘制点
pointrange:点画线
首先绘制一张盒形图
在图上显示出观测值
值得注意的是,图上点的多少并不能完全反应原始数据的多少,因为有的点可能因为点过于密集就会被覆盖,看起来是一个点,其实可能是多个点。
因此可以使用geom_jitter函数将不同的点区分开(jitter是震荡散点),width设置如果遇到相同的点,点向左右方平移的距离。alpha设置透明度。
黑色点是离群点
还可以绘制卡槽图
varwidth参数会根据该水平下观测值的个数(n值)改变盒形图的宽度。(这里宽度去的不是观测个数的绝对值,而是平方根,以缩小差距。)
给盒子上色
分组盒形图,用不同颜色区分
画水平的盒形图
使用coord_flip函数(坐标轴翻转函数)
绘制一张直方图
bins可以设置直方图条柱的数目,默认为30。当bins和binwidth(设置条柱宽度)同时设置时,默认以binwidth为准。
新加入变量cut,根据新变量在price水平上进行一个计数
y轴由count变为density,绘制概率密度
注意下面density的写法,前后都要加..
绘制概率密度曲线:geom_density函数
堆栈密度概率曲线
geom_line/geom_path/geom_step
绘制一个简单的线图
绘制点线图,点和线需要分别添加。
如上图,线在点之上,是因为先投射了点,又投射了线。
先投射线,点就出现在了线之上。
线的颜色出现了渐变
geom_smooth函数:绘制拟合曲线
methods还有其他的方法,如glm:广义线性模型;losses:纯粹平滑;gam:广义加性模型等等(lm和glm最常用)
geom_hline绘制水平线,geom_vline绘制垂直线。xintercept和yintercept是截距,slope是斜率。
下图显示内置数据集colon,病人rx处理分为三组(下图第三列),对照组: Obs ,处理组一: Levamisole (Lev) ,处理组二: Levamisole + 5-fluorouracil (Lev+5FU)# loads dplyr
library(dplyr)
# core survival analysisfunctions
library(survival)
# recommended forvisualizing survival curves
library(survminer)
#加载内置colon数据集
data(colon)
#list directory contents
ls(colon)
得到如下图:
#创建生存对象
fit <- survfit(Surv(time, status)~rx, data=colon)
#level()是为了看分组水平情况,以确定对照组,一般level()之后第一个为对照组
levels(colon$rx)
ggsurvplot(fit,risk.table=TRUE,#生存统计统计表
conf.int=TRUE,#添加置信区间带
palette = c("skyblue","green","red"),#颜色设置
pval=TRUE,#log-rank检验
pval.method=TRUE)#添加检验text
至于是treatment中的哪一组与Obs相比,显著性,差异性更大,需要查看 Lev 和 obs 对比的p值及HR,以及 (Lev+5FU) 和 Obs 对比的p值及HR,评价分组的治疗效果
#Cox Regression,评价rx分组后治疗效果
fit1<-coxph(Surv(time, status)~rx, data=colon)
fit1