我正在尝试分析天气信息以练习我的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个月都需要。
简而言之:我正在尝试为每个月获得不同的点数/数字。这是一个因素。
答案 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)))
应该有用。