【发布时间】:2017-06-09 17:10:22
【问题描述】:
提前道歉,我对 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]))
}
到目前为止,它所做的是按照我的意愿制作每个情节,但没有那些自定义标签。
再次,我很抱歉含糊不清或遗漏了一些东西 - 感到困惑。
谢谢!
【问题讨论】:
-
尝试使用变量名和常规的旧字符串格式动态创建标题。对于轴,您需要创建一个查找表(类似于 Python 中的字典)以将适当的轴映射到给定的图形。
-
谢谢。鉴于这是一个探索性程序,我不会纠缠于让它变得完美,所以如果我可以拥有动态标题,那么我就不会为轴而烦恼。我认为我遇到的问题是确保每个图的标题都根据它正在绘制的数据列,但现在它在标题中插入的文本比我想要的多得多,建议我的参考(“名称 [i ]") 没有按照我的想法工作......