如何为R中的因子选择pch符号?

时间:2013-08-01 08:40:47

标签: r symbols pch

在这种情况下,我试图找出如何选择用于factorial参数的符号:

plot(data.3$age,data.3$tl,pch=c(data.3$mu),col=c(data.3$mu),
cex=1.5,cex.lab=1.3,cex.axis=1.5,las=1,bty="n",xlab="Age (years)",
ylab="Male Total Length (mm)",ylim=c(0,780),xlim=c(0,20))

我使用过pch=as.numeric(factor)但我希望能够自己选择符号,因为我发现默认符号很难相互区分。

我想这很简单,但我确实试图找出如何做到这一点。

3 个答案:

答案 0 :(得分:3)

可以在许多页面上找到pch符号和相关值的图形表示,例如here

enter image description here

答案 1 :(得分:3)

您可以在此图中看到pch的可用值。 (使图形窗口宽,以便最佳观看。)

i <- -128:25
plot(i, pch = i, bg = "blue")

负数为ASCII values


我认为这就是你所要求的,但我不知道你为什么要画这样的情节。一组直方图或箱形图会更有意义。

dummy <- data.frame(
  x = 1:20, 
  y = factor(sample(letters[1:4], 20, replace = TRUE))
)
pch_lookup <- c(a = 3, b = 10, c = 15, d = 20)
with(dummy, plot(x, y, pch = pch_lookup[as.character(y)]))

答案 2 :(得分:1)

两个答案,其选择取决于您的因子水平的设置方式:

首先,如果您的因子水平从1开始,并且在此之后是连续的(因此下面的示例中的因子水平为1,2,3,4):

plot(data.3$age,data.3$tl, pch = c(21,10,22,7)[as.numeric(pch=c(data.3$mu))] )

第二,如果你的因子水平不是连续的(比如你已经将7个因子的子集化了更大的数据集,但你只想绘制其中的4个):

plot(data.3$age,data.3$tl, pch = c(21,10,22,7)[as.numeric(as.factor(as.character(pch=c(data.3$mu))))] )