如何添加对照斜线-不同地块的斜线不同?

时间:2019-11-22 19:17:43

标签: r string sorting statistics

我有一个很大的数据集,其中提供了许多治疗方法的多个参数的数据,其中一种是控制方法。

我编写了一个脚本,该脚本可让我生成treatment $ parameter的多个散点图,现在希望添加abline(h =“ control”),但我一直遇到错误。

“对照”是许多治疗方法之一,并且数据集中在“治疗方法”列下。我合并错了吗?

我尝试了abline(h = treatment ==“ control”)但没有运气。同样,关于如何考虑这些问题的任何建议-我也不要称其为翻译问题-将会非常感谢,这将对我进行自我故障排除的过程提供帮助。

编辑:

例如:对于数据(“ USArrests”) 我的脚本已经为所有列(谋杀,袭击等;以及我的数据框,有几个数据点/参数)生成了散点图。如果我想对USArrests做类似的事情,我想在California $ Parameter设置基准线。

谢谢!

1 个答案:

答案 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)

enter image description here

如果有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")
}

enter image description here