Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据一个因子在我的R图上得到不同的点?_R_Plot_R Factor - Fatal编程技术网

如何根据一个因子在我的R图上得到不同的点?

如何根据一个因子在我的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时,绘图

我试图分析天气信息来练习我的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)))