【问题标题】:pch in plot with R与 R 的情节中的 pch
【发布时间】:2013-10-17 17:20:46
【问题描述】:

我有一个我已经绘制的数据集,我现在正在尝试使用相应的点样式构建一个图例,这些点在图表上正确绘制,但图例显示了二进制响应集的相同符号。我对为什么有点困惑,希望这是一件小事。这是我的代码

# data should already be loaded in from the project on the school drive
library(survival)
attach(lace)
lace

# To control the type of symbol we use we will use psymbol, it takes
# value 1 and 2
psymbol <- FAILURE + 1 
table(psymbol)
plot(AGE, TOTAL.LACE, pch=(psymbol))
legend(0, 15, c("FAILURE = 1", "FAILURE = 0"), pch=(psymbol))]

picture

谢谢,

【问题讨论】:

    标签: r plot


    【解决方案1】:

    pysmbol 是长度为n 的向量,其中n 是数据集中的数据点数。您的legend 调用将这个整个 向量传递给pch,您实际上只需要一个长度为2 的向量。因此legendpsymbol 的前两个元素用于pch。现在,去看看psymbol[1:2]。如果这不返回两个1s,我会感到非常惊讶。

    我建议你使用pch = unique(psymbol)。看起来它应该是一个数字向量,所以应该可以工作。

    请注意,您的调用中不需要在psymbol 周围加上括号,并且attach() 对象被认为是不好的做法,除非您立即快速detach()。请参阅?with 了解替代方法。

    【讨论】:

    • 我对此一无所知,谢谢你的回答,就像一个魅力。
    • 我最终也做了以下事情:psymbol &lt;- unique(FAILURE + 1)
    • 我不认为你想要那个;如果在plot() 调用之前执行此操作,将导致1:2 被重复(1,2,1,2,1,2,...)长度为n。因此,用于绘制的符号可能不是正确的符号 - 鉴于您之前所说的,它至少会将第二个观察值绘制在错误的符号中。
    猜你喜欢
    • 1970-01-01
    • 2015-05-24
    • 1970-01-01
    • 1970-01-01
    • 2012-01-02
    • 2017-08-12
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    相关资源
    最近更新 更多