我正在为探索性分析做一些非常基本的绘图,并成功地创建了一个 for 循环来为我完成大部分工作。我有 12 年的数据、5 个不同的类别(Cat1-Cat5)和 3 个不同的变量(比如 X、Y、Z)。到目前为止,我所做的循环为我提供了每个变量的直方图(例如,第 1 年的 X - 第 12 年的 X)。
我以 2 种方式对数据进行了分区 - 按类别和按年份如下:
Cat.1<-subset(data,Category==1) #Similar code for categories 2-5
categories<-list(Cat.1,Cat.2,Cat.3,Cat.4,Cat.5)
Year.1<-subset(data,Year==1)
years<-list(Year.1,Year.2, ... , Year.12)
现在,通过这种方式对数据进行分区,我设置了循环:
for(i in (1:length(categories))
{
store.data<-categories[[i]]
hist(store.data$X)
}
我想做的是有一个处理3个变量的外部循环:
variables<-list(X,Y,Z)
for(j in (1:length(variables))
{
#insert above for loop here
}
所需的输出将是每年和每个变量的所有直方图的输出。我意识到我可以在原始 for 循环中添加行:
hist(store.data$Y)
hist(store.data$Z)
但是,最终我将对数据进行分析(ANOVA、t 检验等),并且我计划进行相同的设置。通过让外部循环处理内部循环处理哪个变量,理论上我应该编写更少的代码。