阳新网站建设,网站开发应聘问题,我被钓鱼网站骗了骗取建设信用卡建设银行会怎么处理钱会还回吗,便宜自适应网站建设很多新手刚才是总是觉得自己没什么可以写的#xff0c;自己不知道选什么题材进行分析#xff0c;使用scitable包后这个完全不用担心#xff0c;选题多到你只会担心你写不完#xff0c;写得不够快。 今天演示一下使用scitable包深度挖掘一个陌生数据库
先导入R包和数据
li…很多新手刚才是总是觉得自己没什么可以写的自己不知道选什么题材进行分析使用scitable包后这个完全不用担心选题多到你只会担心你写不完写得不够快。 今天演示一下使用scitable包深度挖掘一个陌生数据库
先导入R包和数据
library(survival)
library(scitable)
setwd(E:/r/test)
bc-read.csv(qztp.csv,sep,,headerTRUE)这个是个来自私人创建的医院内部数据库我一个朋友的变量我就不解释了这个数据有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”
family-glm #你的研究类型然后在organizedata2函数中放入数据和全部研究变量
out-organizedata2(data bc,allVars allVars,familyfamily,usernameusername,tokentoken)咱们可以看到函数报错了主要是Q27410_13这个变量只有一个类型属于不合格的变量需要删掉 所以咱们要在allVars中删除函数报错不合格的变量直到没有报错位置。 有的人可能会说变量太多了自己一个个删太麻烦了。函数还提供了一个探索模式
out-organizedata2(data bc,allVars allVars,familyfamily,usernameusername,tokentoken,explore T)上图函数提示上面的变量都被删除了。咱们再out中提出整理好的数据所有变量和分类变量
data-out[[data]]
fvars-out[[factorvarout]]
allVars-out[[allVars]]整理好数据以后就可以进一步分析假设咱们的研究变量、观察变量和模型如下
x-Q1432 #你研究的变量
y-Q3806 #你的结局变量
family-glm #你的研究类型这个时候我想先挖掘一下数据看看哪些变量和Y关联
var-allVars
tb2-scitb2(datadata,xvar,yy,family family,usernameusername,tokentoken)小于0.05的变量都是和结局有关联的咱们来看下咱们关心的变量Q1432和结局的情况 咱们发现Q1432和结局并无关联是不是这个变量就没有意义了呢别急着下结论咱们来进行更加深度的交互效应挖掘其实就是看各个亚组之间Q1432和结局和结局的关系分层这里放入所有的交互变量就行
Interaction-fvars
tb5.a-scitb5a(datadata,xx,yy,InteractionInteraction,cov cov3,familyfamily,usernameusername,tokentoken)做了交互效应分析以后咱们发现两个问题虽然Q1432和结局并无关联但是再Q27278这个亚组当Q27278等于0的时候Q1432和结局是线性相关的理论上有一个亚组相关就可以写一篇文章。 为什么会这样举个简单的例子假设你要研究尿酸和痛经的关系我们知道男性不可能痛经的但是男性喝酒可能尿酸又高你的数据中要是男性过多的化就会对结果造成影响因此性别就是一个混杂因素性别分层以后就能得到女性尿酸和痛经的关系等于是个消除混杂的处理。
交互效应中深度挖掘数据关联通常有两种情况
**1.**在观察变量和结局没有关联亚组却发现了有关联意义咱们数据的情况
**2.**在观察变量和结局有关联亚组中却发现关联明显减弱了拮抗效应交互P值小于0.05。
第二种情况我拿个文章举例说明 空腹血糖浓度之间的纵向关联中国高血压成人首次卒中叶酸的影响干预
这篇文章说的是血糖浓度越高脑梗死发生率越高 但是使用叶酸以后血糖高的患者脑梗风险明显下降 表明叶酸是保护因素其实做法很简单就是把是否使用叶酸做个分类变量然后做个交互效应分析而已。写法可以参照这篇文章。
我还想说的是再亚组分段中咱们把Q1432也做了分段看到再2这个2亚组中也是有关联的 表明有可能Q1432有一段是有线性关联的咱们可以通过ggmgcv函数来观察
library(ggscitable)
out2-ggmgcv(data data,xQ1432,yQ3806,family gaussian,usernameusername,tokentoken)最后发现Q1432其实和结局是非线性关联当Q1432大于120左右Q1432和结局是线性关联。具体分析还是要通过分段和阈值分析。
最后展望一下
Sctb2和scitb5函数都是线性关系的判断将来会编写一个图形化判断非线性数据关系的函数
看文字不明白的还有视频介绍 R语言使用scitable包深度挖掘一个陌生数据库