gpt4 book ai didi

r - 如何在 R 的循环中创建具有不同 y 变量的图?

转载 作者:行者123 更新时间:2023-12-01 22:18:41 25 4
gpt4 key购买 nike

提前致歉,我对 R 和一般编程还很陌生。

我有一个数据集,其中包含几个每年测量的水质变量。我想要做的似乎很简单,那就是创建几个探索性散点图,在 x 轴上绘制每个变量与时间的关系。我一直在研究用循环来做这件事(是的,我知道循环不受欢迎,但正如我所说,我是新手)来自动化它,因为我将不得不在这之后做一堆分析并且不要'想写一堆多余的代码。

生成每张图都很好,但我对如何为每张图赋予唯一标识符(即,根据我正在循环的特定变量编写 y 标签和图表标题)一无所知。

这是我的代码,但我不确定它的用处。有关如何引导循环函数执行我希望它执行的操作的建议会很棒。

WQdata <- data # the dataframe
names <- colnames(WQdata[, -1]) # names of variables, excluding Year which was first column
Year <- WQdata$Year
vars <- c(WQdata[, -1]) # removed year,

for (i in vars) {
xlim <- range(Year)
ylim <- range(i)
plot(x=Year,
y=i,
type="p",
main=paste(names[i]),
xlab="Year",
ylab=paste(names[i]))
}

到目前为止所做的是按照我的意愿生成每个图,但没有那些自定义标签。

再次,我为我的含糊或遗漏而道歉 - 感到困惑。

谢谢!

最佳答案

您可以将 ggplot 与 facets 一起使用,以减少代码而无需循环和重复代码...

library(ggplot2)
library(tidyverse)

df <- mtcars %>%
gather(-mpg, key="var", value = "value")

ggplot(df, aes(x = mpg, y = value)) +
geom_point(alpha = 0.3) +
geom_smooth(method = "lm") +
facet_wrap(~var, scales = "free") +
theme_bw()

关于r - 如何在 R 的循环中创建具有不同 y 变量的图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41836042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com