转换字符串以过滤

时间:2018-03-23 15:08:16

标签: r

我需要进行循环以仅更改年份的最后一位数来更改查询的过滤器以生成每年的直方图,我可以这样做:

而不是:

hist(dados$Avg_Intervalo_DataInicio_DataFim[dados$Periodo==2013], col = "gray")
hist(dados$Avg_Intervalo_DataInicio_DataFim[dados$Periodo==2014], col = "gray")
hist(dados$Avg_Intervalo_DataInicio_DataFim[dados$Periodo==2015], col = "gray")

...

我需要这个

for (1 in 1:10) {

base <- "dados$Avg_Intervalo_DataInicio_DataFim[dados$Periodo==201"
base <- paste(base,i,"]",sep = "");base
# "dados$Avg_Intervalo_DataInicio_DataFim[dados$Periodo==2011]"

hist(base, col = "gray") #Error here, because r do not understand that variable "base" is a query, it's understand that is a string

}

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

通常,这种转换是不可能的。

可以解决这个问题。当你知道岁月时,你可以将它们放入符号中,然后用它创建一个for循环。

years <- c(2013:2023)

for (year in years) {
   hist(dados$Avg_Intervalo_DataInicio_DataFim[dados$Periodo==year], col = "gray")
}