如何解决R plotly - 多元回归线的问题
在我认为是一些编程和统计混乱的结合的问题中挣扎。我有一个更复杂的回归方程,其中包括两个 X 变量和一些交互项。尽管应用了线性模型,我第一次绘制回归线的尝试还是参差不齐——我花了一段时间才弄清楚原因,但我现在相当有信心这是因为我包括了第二个协变量,而调整不是在原始 X 和 Y 图中捕获(请参阅下面的示例代码 - 当从回归方程中删除协变量时,线条是直的)。问题是绘制这些发现的最合适方法是什么,以及这样做的最佳方法是什么。我这将需要调整协变量和交互项的 X 和 Y 的值,但我没有最模糊的想法如何以它们仍然可以解释的方式进行。任何指导都会非常受到赞赏 - 真诚地尝试从 SPSS 转向 R,但不断遇到这样令人沮丧的问题!
library(plotly)
library(dplyr)
catvar <- c(rep("Drug A",25),rep("Drug B",25))
xvals <- rnorm(50,mean=10,sd=2)
yvals <- rnorm (50,mean=20,sd=3)
covar <- rnorm(50,mean = 0,sd = 5)
scatterdata <- data.frame("CatVar"=catvar,"XVals"=xvals,"YVals" = yvals,"Covar" = covar)
colorpal <- c("red","black")
attach(scatterdata)
sorteddata <- scatterdata[order(xvals,yvals),]
##Original plot
linefit <- lm(yvals~Covar+XVals+CatVar+Covar*XVals+CatVar*XVals,data=sorteddata)
fitvals <- data.frame("YVals" = fitted(linefit),"CatVar" = sorteddata$CatVar,"XVals" = sorteddata$XVals)
DrugAfitvals <- fitvals[which(sorteddata$CatVar=='Drug A'),]
DrugBfitvals <- fitvals[which(sorteddata$CatVar=='Drug B'),]
##Plot without covariate
linefit_nocovar <- lm(yvals~XVals+CatVar+CatVar*XVals,data=sorteddata)
fitvals_nocovar <- data.frame("YVals" = fitted(linefit_nocovar),"XVals" = sorteddata$XVals)
DrugAfitvals_nocovar <- fitvals_nocovar[which(sorteddata$CatVar=='Drug A'),]
DrugBfitvals_nocovar <- fitvals_nocovar[which(sorteddata$CatVar=='Drug B'),]
newplot <- plot_ly() %>%
add_trace(data=sorteddata,x= ~XVals,y = ~YVals,color = ~CatVar,colors=colorpal,type = "scatter",mode = "markers",marker = list(size=10)) %>%
add_trace(data = DrugAfitvals,x = ~XVals,mode = "lines") %>%
add_trace(data = DrugBfitvals,mode = "lines") %>%
add_trace(data = DrugAfitvals_nocovar,mode = "lines") %>%
add_trace(data = DrugBfitvals_nocovar,mode = "lines")
newplot
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。