R 为数据集指定颜色

R 为数据集指定颜色,r,R,我有下面的代码,生成一个随机数据集,其中包含以下图形: x1=abs(rnorm(200)) x2=abs(rnorm(200))-7*x1^2 plot(x1,x2) 我的目标是分离数据,以便data.frame中的前100个点为蓝色,其余100个点为红色。所以我有两个简短的问题, 1) 如何分离数据,以便在沿着x1移动时,前100个点为蓝色,另一个点为红色?我在下面添加了一张图片以澄清问题,请注意我的剪贴工具的艺术天赋。 2) 如果在指定颜色后,简单的z=data.frame(x1,x2

我有下面的代码,生成一个随机数据集,其中包含以下图形:

x1=abs(rnorm(200))
x2=abs(rnorm(200))-7*x1^2
plot(x1,x2)

我的目标是分离数据,以便data.frame中的前100个点为蓝色,其余100个点为红色。所以我有两个简短的问题, 1) 如何分离数据,以便在沿着x1移动时,前100个点为蓝色,另一个点为红色?我在下面添加了一张图片以澄清问题,请注意我的剪贴工具的艺术天赋。 2) 如果在指定颜色后,简单的z=data.frame(x1,x2,颜色)是否足以将数据放入数据集中,以便我可以使用一些基本的机器学习工具(如SVM、Bagging和Boosting)运行数据

为帮助干杯。

set.seed(42)

dat Hey@r2evans,谢谢你,因为这几乎正是我想要的。然而,我一直在寻找左上角的点都是蓝色的,然后当我沿着x1轴靠近3时,所有的点都是红色的。这有意义吗?啊,好吧,我明白了,我没有考虑使用秩函数来绕过数据的排序。我开始使用order函数构建数据表,它也可以工作,但要长一点。谢谢你。啊
order
rank
返回非常不同的向量。尝试
rank(c(1,3,5,2,4,6))
然后
order(c(1,3,5,2,4,6))
查看第二种方法不适合此用途。例如,使用
rank
,其返回中的第二个元素对应于向量中的第二个元素(此处为3)。使用
顺序
,第二个元素根本不对应于输入向量的第二个元素,因此不应在
ifelse
中使用它(它将输入映射到输出,其中对应的值很重要)。还需要考虑以下事项:(1)您倾向于使用
data.frame
跟踪颜色(和形状,根据您之前的问题)是非常正确的,如果不将点、线、形状和颜色很好地结合在一起,那么尝试跟踪它们可能会很困难。(2)使用
ggplot2
包可能会更简单,它可以负责指定唯一的颜色(形状,…)根据一些标准。对于类似的绘图,使用
ggplot(dat,aes(x1,x2))+geom_点(aes(color=col,shape=col))
并不是不合理的。它从基准R开始有一个陡峭的学习曲线,但是(IMHO)这是非常值得的。嘿@ R2Evas,感谢输入。这是我会考虑的东西,因为我已经使用GGPLOTT2几次,然而,似乎这是我应该投入更多的时间。欢呼,再次。