如何根据一个因素在R上绘制不同的点?

时间:2014-03-05 22:35:42

标签: r plot r-factor

我正在尝试分析天气信息以练习我的R技能,但我有点卡住了。我有一个数据框,其中包括Columns Temp,Day和month。 现在我需要尝试绘制数据框,其中X轴上的天数和Y轴上的温度,月份应该确定点的形状/颜色(因此第5个月是红色,第6个月是绿色等等) 。我搜索了Stack Overfow的答案并尝试了一些代码,但效果不佳。

我试过例如:

  

set.seed(1);情节(x $ Day,x $ Temp,pch = paste(5:9))   但是在图表上给了我随机数字(抱歉无法上传图片,声誉太低了......)

当我将粘贴中的数字设置为1:5时,图中的所有数字都改变了,所以我认为这是一个随机数(?)。因素是:

f <- factor(m)

m为月(5:9)

    Day Temp Month
20   20   62     5
21   21   59     5
22   22   73     5
23   23   61     5
24   24   61     5
25   25   57     5
26   26   58     5
27   27   57     5
28   28   67     5
29   29   81     5
30   30   79     5
31   31   76     5
32    1   78     6
33    2   74     6
34    3   67     6
35    4   84     6
36    5   85     6
37    6   79     6
38    7   82     6
39    8   87     6
40    9   90     6
41   10   87     6
42   11   93     6
43   12   92     6
44   13   82     6
45   14   80     6
46   15   79     6
47   16   77     6
48   17   72     6
49   18   65     6

因此数据框中月份编号为5的图表中的天数需要在图表中显示数字5,月份编号6天需要在图表中编号为6且所有5个月都需要。

简而言之:我正在尝试为每个月获得不同的点数/数字。这是一个因素。

1 个答案:

答案 0 :(得分:0)

怎么样:

set.seed(101)
d <- data.frame(x=rnorm(100),y=rnorm(100),m=sample(5:9,replace=TRUE))
pchvec <- as.character(5:9)
with(d,plot(x,y,pch=pchvec[as.numeric(factor(m))]))

或者在更多步骤中,没有with()魔法:

m.ind <- as.numeric(factor(d$m))
pchvec2 <- pchvec[m.ind]
plot(y~x,data=d,pch=pchvec2)

或者就你的情况而言

with(x,plot(Day,Temp,pch=as.character(Month)))

应该有用。