目前本人寫的ggrcs包新的4.0版本已經在CRAN上線,目前支持邏輯回歸(logistic回歸)、cox回歸和多元線性回歸。
需要的可以使用代碼安裝
install.packages("ggrcs")
如果原來安裝了舊版本,重新在安裝一次就可以升級到新版本。本次主要是修復了之前的兩個問題,下面我來演示一下。
第一個是有柱子在負軸的問題,既往偶有柱子在負軸的問題,我用一個粉絲的數據來演示一下,代碼不解釋了,可以看我既往的文章
library(rms)
library(ggplot2)
library(scales)
library(cowplot)setwd("E:/公眾號文章2024年/ggrcs報錯")
df <- read.csv('rscdata.csv',sep = ',',header = T)
str(df)
covars = c('age','Gender','Race','edu','marital','PIR','alcohol.user','smoke')df[,covars] <- lapply(df[,covars],as.factor)dd <- datadist(df)
options(datadist='dd')
fit<-ols(PAA ~rcs(X2.OHNAP,4)+age+Gender+Race+marital+edu+PIR+bmi+smoke+alcohol.user,data=df)
summary(fit)
ggrcs(data=df,fit=fit,x="X2.OHNAP",histbinwidth=0.01,px=1.1)
這是因為線性回歸種可能會產生負值,可能會導致這種情況,新版本解決了這個問題
library(ggrcs)
ggrcs(data=df,fit=fit,x="X2.OHNAP",px=1.1)
第二個就是線性回歸中因為寬度問題導致繪圖不美觀的問題,使用我的臭氧數據來演示這個情況(公眾號回復:臭氧數據,可以獲得這個數據)
library(ggrcs)
library(rms)
library(ggplot2)
library(scales)
library(cowplot)
library(foreign)
be <- read.spss("E:/r/test/ozone.sav",use.value.labels=F, to.data.frame=T) #????
names(be)
be$variables2<-sample(0:1,size=330,replace=TRUE)
be$variables2<-as.factor(be$variables2)
dd <- datadist(be)
options(datadist='dd')
fit<-ols(ozon ~rcs(vh, 4)+temp+variables2,data=be)
ggrcs(data=be,fit=fit,x="vh")
繪制出的這個圖不怎么美觀是因為寬度沒有控制好,新版本對寬度重新進行自動計算后,還是原來的代碼
ggrcs(data=be,fit=fit,x="vh")
這樣圖片就比原來美觀多啦,多謝各位粉絲提出的意見。