scitb5函数1

在SCI文章中 , 交互效应表格(通常是表五)能为文章锦上添花 , 增加文章的信服力 , 增加结果的可信程度 , 还能进行数据挖掘 。
交互效应表我在既往文章《R语言手把手教你制作一个交互效应表》已经介绍怎么制作了 , 详细的可以去看一下 。
本次发布我自己写的函数 , 参考了包和一些其他的R包的写法 。用于一键生成交互效应表 , 主要是可以给你省点时间 , 也可以进行数据挖掘 。
【scitb5函数1】要注意一下 , 只发布了目标变量X是连续变量的的交互效应函数 , 买错我可不负责!!
分类变量的还在写 , 过段时间应该可以发布 。
函数支持逻辑回归、cox回归还有线性回归模型 。下面我来演示一下 , 先做逻辑回归
导入我们的早产数据(公众号回复:早产数据 , 可以得到数据)
bc<-read.csv("E:/r/test/zaochan.csv",sep=',',header=TRUE)bc <- na.omit(bc)names(bc)dput(names(bc))
先对数据进行一些整理 , 这一步是必要的 , 你要分层的变量都要转成因子
bc$race<-ifelse(bc$race=="black",1,ifelse(bc$race=="white",2,3))bc$smoke<-ifelse(bc$smoke=="nonsmoker",0,1)bc$low<-factor(bc$low)bc$race<-factor(bc$race)bc$ht<-factor(bc$ht)bc$ui<-factor(bc$ui)
接下来导入函数 , 我把它写成了一个函数文件1..R , 直接使用导入就可以了
source("E:/r/test/1.4final.R")
导入成功后会出现如下图标 , 显示有3个函数 , 这样就说明加载成功了
接下来我们就是要定义交互也就是分层变量 , cov1表示在你模型出现的协变量 , 表示你要交互也就是分层的变量 , 我在函数中设定交互变量必须包含在协变量中 , 不然会报错 。
cov1<-c("lwt","smoke","ptl","ui","ftv","race") Interaction<-c("race","smoke","ui")
定义好以后我们就可以使用函数了 , 这个函数需要包和包支持 , 必须先安装好这两个包 , 使用函数后会自己加载这两个包 。函数我来解释一下data就是你的数据 , 必须是数据框形式 , x是你的目标变量 , 目前必须是连续变量 , y是你的结局变量 , 输入:交互变量 , cov输入:协变量 , 定义你的模型 , 逻辑回归就定义为logit 。
out<-scitb5(data=http://www.kingceram.com/post/bc,x="age",y="low",Interaction=Interaction,cov = cov1,family="logit")
一句话代码交互效应表就生成了 。还算相对简单吧 。接下来做一个cox回归的 , 导入乳腺癌数据(公众号回复:乳腺癌 , 可以得到数据)

scitb5函数1

文章插图
library(foreign)library("survival")bc <- read.spss("E:/r/Breast cancer survival agec.sav",use.value.labels=F, to.data.frame=T)bc <- na.omit(bc)
分类变量转成因子
bc$er<-as.factor(bc$er)bc$pr<-as.factor(bc$pr)bc$ln_yesno<-as.factor(bc$ln_yesno)bc$histgrad<-as.factor(bc$histgrad)bc$pathscat<-as.factor(bc$pathscat)dput(names(bc))
定义协变量和交互变量
cov1