【问题标题】:plot more than one confidence interval in one plot at a particular order[SAS]以特定顺序在一张图中绘制多个置信区间[SAS]
【发布时间】:2023-06-05 21:49:01
【问题描述】:

我需要以特定顺序在一张图中绘制多个置信区间。
比如我的数据是:

N Est. Lower Upper
1  5    3     6
2  1    0     4
3  3    0     7

我使用以下命令进行绘图:

proc sgplot data=confidence;
scatter y=N x=est. / xerrorlower=lower xerrorupper=upper
      markerattrs=(symbol=circlefilled size=9);
run;

SAS 将始终以 N 的顺序从 1 到 3 绘制置信区间。但是,我需要显示估计变化的趋势。即我需要的顺序首先是 N=2,然后是 N=3,N=1 对应于 est. = 1 3 5。即使按 est. 排序后,SAS 仍然做同样的事情。我知道我可以对我的数据进行排序并添加一个新顺序以得到我想要的结果,但我仍然想在我的最终图中显示正确的 N 来告诉我我的置信区间的数量。谢谢。

【问题讨论】:

  • SRSwift 回答了您的技术问题,但我不相信这是显示这些数据的正确方式。条形图对我来说更有意义,也许您的示例数据不清楚,但我不明白为什么 N 的顺序不正确。
  • 也许我没有清楚地澄清我的问题。我需要从每个观察中得出一个置信区间。因此,对于条形图,每个条形都以相同的值(通常为 0)开头,这不是置信区间。我想更改原始顺序的原因是 N 仅表示观察的顺序,我希望我可以根据估计(变量名称:est.)绘制置信区间,例如,我想显示估计在我的地块顶部大于 2。希望这能让这个问题更清楚。

标签: plot sas confidence-interval


【解决方案1】:

您可以请求一个离散的垂直轴,并使用yaxis语句指定排序方法:

yaxis discreteorder = data type = discrete;

这将告诉 SAS 忽略 N 中的值并根据从数据集中读取它们的顺序显示它们。您必须提前对数据进行排序。

【讨论】:

    最近更新 更多