如何根据一个因子在我的R图上得到不同的点?
我试图分析天气信息来练习我的R技能,但我有点卡住了。我有一个包含Temp、Day和month列的数据框。 现在我需要尝试绘制数据框,X轴上有天,Y轴上有温度,月份应该确定圆点的形状/颜色(所以第5个月是红色,第6个月是绿色,等等)。我在Stack Overfow中搜索答案,并尝试了一些代码,但效果不是很好 我试过,例如: 结实。种子(1);绘图(x$Day,x$Temp,pch=粘贴(5:9)) 但在图表上给了我随机数字(对不起,无法上传图片,声誉太低…) 当我将粘贴中的数字设置为1:5时,绘图中的所有数字都发生了变化,因此我认为这是一个随机数(?)。这个因素是:如何根据一个因子在我的R图上得到不同的点?,r,plot,r-factor,R,Plot,R Factor,我试图分析天气信息来练习我的R技能,但我有点卡住了。我有一个包含Temp、Day和month列的数据框。 现在我需要尝试绘制数据框,X轴上有天,Y轴上有温度,月份应该确定圆点的形状/颜色(所以第5个月是红色,第6个月是绿色,等等)。我在Stack Overfow中搜索答案,并尝试了一些代码,但效果不是很好 我试过,例如: 结实。种子(1);绘图(x$Day,x$Temp,pch=粘贴(5:9)) 但在图表上给了我随机数字(对不起,无法上传图片,声誉太低…) 当我将粘贴中的数字设置为1:5时,绘图
f <- factor(m)
因此,数据框中月号为5的图中的天数需要在图中有数字5,月号为6的天数需要在图中有数字6,所有5个月的天数都需要数字6
简言之:我试图为每个月获取不同的点/数字,这些点/数字位于一个因子中。如何:
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(x,plot(Day,Temp,pch=as.character(Month)))
应该有效。尝试共享一些数据。在控制台中输入
paste(5:9)
,查看它的输出。(提示:这不是随机的。)另外,当你说“因子是f”时,它们不是随机的。你告诉它把数字5、6、7、8和9标绘在你的分数应该去的地方。是的,对不起。m是获得数据的5个月,所以从第5个月到第9个月(总共153天,这意味着31天一个月3倍,30天一个月2倍)试试看,pchvec@ben Bolker似乎有用,但点现在是数字,所以我不知道哪个数字是哪个月。有没有办法把这些数字变成数字?
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)))