【发布时间】:2014-01-20 10:49:24
【问题描述】:
我仍在尝试使用循环在 R 中绘图。我想根据中的不同名称在下面的数据框中绘制(任何可视化数据的绘图都可以)列 z_1 与 z_2 x_1 列。
x_1 <- c("A1", "A1","A1", "B10", "B10", "B10","B10", "C100", "C100", "C100")
z_1 <- rnorm(10, 70)
z_2 <- rnorm(10, 1.7)
A <- data.frame(x_1, z_1, z_2)
因此,我想以三个不同的情节结束;一个用于 A1 类,一个用于 B10,另一个用于 C100。我可以使用三个不同的代码来做到这一点,但我希望能够使用循环或任何其他单个代码在同一页面上执行所有三个绘图。实际上,我有一个大型数据集(4,000 行),并且想在一页上绘制几个 ID(比如一页上 5 个)。
我希望这是有道理的。谢谢你的帮助。
这是我单独绘制它们的尝试:
对于 A1:
data_A1 <- A[which(A$x_1 == "A1"), ]
plot(data_A1$z_2, data_A1$z_1)
我也尝试过类似的方法,但收到错误消息
for ( i in A$x_1[[i]]){
plot(A[which(A$x_1==A$x_1[[i]]), ], aspect = 1)
}
【问题讨论】:
-
如果你展示了你迄今为止所做的实际尝试,并解释它是如何不起作用的,我可能会想帮忙。
-
@joran,我将编辑我的帖子以包含我迄今为止的尝试。谢谢。
-
小事,但你犯了过度使用
which的常见错误。尝试运行x <- runif(10),然后比较x[x < 0.5]和x[which(x < 0.5)]。与上面的代码一样,您可以省略which以获得相同的结果。 -
@shujaa,感谢您的提示,非常感谢。
-
@Shujaa,你有没有机会帮助重写我的原始代码以使其工作?