很多新手刚才是总是觉得自己没什么可以写的,自己不知道选什么题材进行分析,使用scitable包+ggscitable包后这个完全不用担心,选题多到你只会担心你写不完,写得不够快。
既往咱们使用scitable包交互效应深度挖掘一个陌生数据库,今天咱们来介绍ggscitable包通过曲线拟合深度挖掘一个陌生数据库非线性关系,还是使用上次的数据,来自一个私人数据库
温馨提示:最后有视频,看视频更加理解透彻
先导入R包和数据
library(survival)
library(scitable)
setwd("E:/r/test")
bc<-read.csv("qztp.csv",sep=',',header=TRUE)
这个是个来自私人创建的医院内部数据库,我一个朋友的,变量我就不解释了,这个数据有141个变量,605个数据。变量非常多。我们先把变量导出来
dput(names(bc))
像"SID", “REGDATE”, “REGUID”, "Q1"这些变迁。日期人员的变量没有什么意义,直接删掉,然后定义我们需要研究的全部变量
allVars <-c("Q1120", "Q657", "Q344",
"Q27501", "Q27502", "Q27503", "Q18805", "Q13028", "Q27272", "Q27271",
"Q27269", "Q27270", "Q79", "Q82", "Q27410_1", "Q27410_2", "Q27410_3",
"Q27410_4", "Q27410_5", "Q27410_6", "Q27410_7", "Q27410_8", "Q27410_9",
"Q27410_10", "Q27410_11", "Q27410_12", "Q27410_13", "Q27410_14",
"Q27410_15", "Q27273", "Q27277", "Q27406", "Q27291", "Q3806",
"Q27204", "Q27279", "Q27278", "Q27297", "Q27284", "Q27299", "Q27282",
"Q27280", "Q27283", "Q27205", "Q27507_1", "Q27507_2", "Q27507_3",
"Q27507_4", "Q27507_5", "Q27507_6", "Q27506_1", "Q27506_2", "Q27506_3",
"Q27506_4", "Q27506_5", "Q27506_6", "Q27506_7", "Q27508_1", "Q27508_2",
"Q27508_3", "Q27508_4", "Q27508_5", "Q27201", "Q1865", "Q27192",
"Q27206", "Q27207", "Q27208", "Q27286", "Q27358", "Q27359", "Q27302_1",
"Q27302_2", "Q27302_3", "Q27302_4", "Q27302_5", "Q27302_6", "Q27302_7",
"Q27302_8", "Q27302_9", "Q27302_10", "Q27302_11", "Q27302_12",
"Q27302_13", "Q27302_14", "Q20503", "Q27407", "Q27301", "Q434",
"Q592", "Q1432", "Q441", "Q368", "Q897", "Q374", "Q1066", "Q802",
"Q804", "Q1671", "Q6000", "Q371", "Q572", "Q1308", "Q27509",
"Q27510_1", "Q27510_2", "Q27510_3", "Q27510_4", "Q27510_5", "Q27510_6",
"Q27510_7", "Q27510_8", "Q27510_9", "Q27510_10", "Q27510_11",
"Q27510_12", "Q27510_13", "Q27510_14", "Q79.1", "Q79.2", "BMI",
"Q27272.NEW", "Q27271.NEW", "Q13028.NEW", "Q27406.CS", "Q27406.CS.NEW",
"Q18805.NEW", "Q1432.T3", "BMI.CS", "Q1432.T3.CONT", "Q344.CS",
"白球比", "血淋比", "Q27278.NEW", "Q27278.NEW1", "Q27406.NEW",
"Q1432YA")
然后定义一下咱们研究的类型,统一定义为“glm”
使用organizedata2函数进行数据整理,开启探索模式
out<-organizedata2(data = bc,allVars = allVars,family=family,username=username,token=token,explore = T)
上图函数提示上面的变量都被删除了。咱们再out中提出整理好的数据,所有变量和分类变量
data<-out[["data"]]
fvars<-out[["factorvarout"]]
allVars<-out[["allVars"]]
上面这些步骤和sctable包都是一样的,接下来要定义分析的所有变量和结局变量
##定义要分析的变量和结局变量
var<-allVars
ggexplore(data = data,x=var,y= "Q3806")
各种各种非线性关系图就出来了,一共又几十张,向上面这种U型结构是非常适合写文章的。
刚才咱们定义的是结局变量,看哪个变量和结局又关系,我们也可以定义观察变量X变量,看哪个变量和X有关系。假设你有一个牛逼的指数,例如下面这些,可以快速找到和指数相关的结局
这次我换个charls数据,我自己提取的,
library(survival)
library(ggscitable)
setwd("E:/公众号文章2024年/charls数据库/class5") #设置你放数据文件的地址
bc<-read.csv("data.final.csv",sep=',',header=TRUE)
str(bc)
这个数据中有个TYG指数(甘油三酯葡萄糖指数),假设我想看哪个结局和这个指数相关,前面的整理数据步骤都是一样的
dput(names(bc))
allVars <-c("age", "sex", "edu", "smoking", "married", "drink", "wc", "bmi",
"TC", "HDL", "weight", "TG", "LDL", "FBG", "hba1c", "TYG", "Hypertension",
"CVD", "New.diabetes", "sbp", "Lipid.drug","time")
out<-organizedata2(data = bc,allVars = allVars,family=family,username=username,token=token,explore = T)
data<-out[["data"]]
fvars<-out[["factorvarout"]]
allVars<-out[["allVars"]]
整理好数据后直接分析,定义x=“TYG”,Y这里放入所有变量
var<-allVars
ggexplore(data = data,x="TYG",y=var)
上面这些只是一部分,够咱们写好多篇文章了。下面还有视频介绍
ggscitable包通过曲线拟合对数据深度挖掘