我有一个很大的数据集,其中提供了许多治疗方法的多个参数的数据,其中一种是控制方法。
我编写了一个脚本,该脚本可让我生成treatment $ parameter的多个散点图,现在希望添加abline(h =“ control”),但我一直遇到错误。
“对照”是许多治疗方法之一,并且数据集中在“治疗方法”列下。我合并错了吗?
我尝试了abline(h = treatment ==“ control”)但没有运气。同样,关于如何考虑这些问题的任何建议-我也不要称其为翻译问题-将会非常感谢,这将对我进行自我故障排除的过程提供帮助。
编辑:
例如:对于数据(“ USArrests”) 我的脚本已经为所有列(谋杀,袭击等;以及我的数据框,有几个数据点/参数)生成了散点图。如果我想对USArrests做类似的事情,我想在California $ Parameter设置基准线。
谢谢!
答案 0 :(得分:0)
如果您执行abline(h="control")
或abline(h=treatment=="control")
,则此方法将无效,因为第一个尝试绘制字符,第二个尝试绘制布尔值。 abline(h = ..)需要数字输入。
既然您是abline来自哪一行,您就可以这样做:
library(datasets)
wh = which(rownames(USArrests)=="California")
如果使用配对,则可以这样绘制:
plotfun = function(x,y){
points(x,y,pch=18);abline(h=y[wh],lty=8,col="blue")
}
pairs(USArrests,upper.panel=NULL,panel=plotfun)
如果有for循环:
PAIRS = combn(colnames(USArrests),2)
par(mfrow=c(2,3))
for(i in 1:ncol(PAIRS)){
plot(USArrests[,PAIRS[,i]])
INTERCEPT = USArrests[wh,PAIRS[2,i]]
abline(h=INTERCEPT,lty=8,col="blue")
}