0

我想从我的 data.frame 中以不同的颜色/形状绘制最后的观察结果。现在,关于这个主题的一个密切条目是在这里,但不完全是我需要的。我在此处发布的此解决方案有效,但我很高兴在 lattice 中还有其他选项/方法来处理此问题,因为这对我来说似乎有些笨拙。

样本数据:

set.seed(123)
data <- data.frame(x=rnorm(10,0,1),y=rnorm(10,1,2))
n <- nrow(data)

plot1 <- xyplot(x~y, data, col=ifelse(data$x==(data$x[n]), "red", "black"), 
                pch=ifelse(data$x==(data$x[n]), 19, 1), cex=ifelse(data$x==(data$x[n]), 2, 1))
print(plot1)

编辑:如果最后两个观察结果完全相同,上述解决方案似乎也不起作用。这就是我偶尔在我的数据中所拥有的。

4

1 回答 1

2

你可以尝试使用代表我想:

n<-nrow(data)-1

plot1 <- xyplot(x~y, data, col=c(rep("red",n),"black"), 
            pch=c(rep(19,n),1), cex=c(rep(2,n),1))

它只是重复 col、pch 和 cex “n”次,然后为最后一行添加 1 个附加值。这里“n”是行数-1。这假设您的数据已排序以使其正常工作。您还可以在单​​独的列中添加图形参数(即 df$Col、df$Pch 等)并执行 col=df$Col,这将允许您突出显示各种事物,而不管排序如何。

于 2013-08-30T14:00:52.023 回答