ggrcs包3.8版本发布—增加了密度曲线,X轴截断和字体设定

目前本人写的ggrcs包新的3.8版本已经在CRAN上线,目前支持逻辑回归(logistic回归)、cox回归和多元线性回归。

在这里插入图片描述
需要的可以使用代码安装

install.packages("ggrcs")

如果原来安装了旧版本,重新在安装一次就可以升级到新版本。本次主要增加了3个内容,1是增加了单组的密度曲线图,2是增加了X轴的截断和限制功能3是增加了字体的设置功能。
下面我来演示一下,先导入数据和R包,直接使用R包自带的吸烟数据

library(ggrcs)
library(rms)
library(ggplot2)
library(scales)
library(cowplot)
dt<-smoke

在这里插入图片描述
这是R包自带的吸烟数据,假设我们想了解年龄和吸烟发病率关系
整理数据

dd<-datadist(dt)
options(datadist='dd')
fit<- cph(Surv(time,status==1) ~ rcs(age,4)+gender, x=TRUE, y=TRUE,data=dt)

基础绘图

ggrcs(data=dt,fit=fit,x="age")

在这里插入图片描述
如果咱们不想直方图,可以改成密度函数图,加上pdensity=T

ggrcs(data=dt,fit=fit,x="age",pdensity=T)

在这里插入图片描述
这个图目前只能做单组,因为双组的话rms包会把两个数据重组分布,然后经过从新缩放,双组的话两个密度曲线会叠加一起,这个涉及到了绘图的核心逻辑,目前没什么好办法。
这个密度曲线在一些线性回归可能会起到一些帮助。
我导入一个线性回归数据试一下

library(foreign)
be <- read.spss("E:/r/test/ozone.sav",
                use.value.labels=F, to.data.frame=T)  #????
be$variables2<-sample(0:1,size=330,replace=TRUE)
be$variables2<-as.factor(be$variables2)
dd <- datadist(be) 
options(datadist='dd') 
fit1<-ols(ozon ~rcs(ibh, 4)+dpg+variables2,data=be)
ggrcs(data=be,fit=fit1,x="ibh",histbinwidth=1)

在这里插入图片描述
绘制成这个样子主要是因为数据不是正态分布,分布范围太广了,除了改成单纯RCS曲线,咱们可以改成密度曲线

ggrcs(data=be,fit=fit1,x="ibh",histbinwidth=1,pdensity=T)

在这里插入图片描述
这里也可以看出,密度曲线有个峰,偏态分布。接下来继续介绍X轴截断和限制功能。先走一下之前的代码

dd<-datadist(dt)
options(datadist='dd')
fit<- cph(Surv(time,status==1) ~ rcs(age,4)+gender, x=TRUE, y=TRUE,data=dt)

ggrcs包提供了多个X轴截断方式,如果咱们想把间隔改为5

ggrcs(data=dt,fit=fit,x="age",breaks = 5)

在这里插入图片描述
如果我想把X轴的总长度限制一下

ggrcs(data=dt,fit=fit,x="age",breaks = 5,limits = c(5,75))

在这里插入图片描述
如果我想把X轴平均分成50份

ggrcs(data=dt,fit=fit,x="age",x.moiety = 50)

在这里插入图片描述
ggrcs还支持自定义截断

ggrcs(data=dt,fit=fit,x="age",x.breaks=c(0,10,30,70))

在这里插入图片描述
最后介绍一下怎么自定义字体
首先咱们要看我们有啥字体

library(showtext)
font_families()

在这里插入图片描述
我这里有4个字体,我改成mono这个字体

singlercs(data=dt,fit=fit,x="age",group="gender",fontfamily="mono")

在这里插入图片描述
除了字体,字的大小也可以改的,这里分为刻度的字体和标签的字体都可以调整

singlercs(data=dt,fit=fit,x="age",group="gender",fontfamily="mono",fontsize=18)

在这里插入图片描述
如果你想添加其他字体必须先安装上这个字体,假设咱们想安装"Times New Roman"
借鉴网上常用的两种方法
一种是:

font_add("Times New Roman","times.ttf")
singlercs(data=dt,fit=fit,x="age",group="gender",fontfamily="times.ttf")

另一种是:

windowsFonts(times1.ttf=windowsFont("Times New Roman"))
singlercs(data=dt,fit=fit,x="age",group="gender",fontfamily="times1.ttf")

在这里插入图片描述
本期介绍到了这里,报错或者有好的建议或意见可以私信我。

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天桥下的卖艺者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值