barplot em loop em R
Aqui está a minha pergunta:
<code>#data 1: lab1 <- 1:10 group <- rep(1:3, each = length (lab1)) label <- rep(lab1, 3) avar <- rep(c(0, 1, 4, 5, 6, 8, 10, 11, 12, 13), 3) myd <- data.frame (group, label, avar) # data 2 fillcol <- rep(rnorm(length(lab1)-1, 0.5, 0.2), 3) group1 <- rep(1:3, each = length(fillcol)/3) # this variable will be used to fill color in bars filld <- data.frame(group1, fillcol) # now plotting par(mfrow = c(3, 1)) par(mar = c(2.5, 1, 2.5, 1)) #plot1 myd1 <- myd[myd$group ==1,] filld1 <- filld[filld$group1 ==1,] blues <- colorRampPalette(c("yellow", "blue")) barplot(as.matrix(diff(myd1$avar)), horiz=T, col=blues(10)[10* filld1$fillcol], axes=F, xlab="Mark") axis(1, labels=myd$label, at=myd$avar) axis(3, labels=myd$avar, at=myd$avar) </code>
Embora esse conjunto de dados de amostra, eu tenha muitas variáveis e eu queira automatizar esse processo.
<code>for (i in 1:length(unique(myd$group))){ par(mfrow = c(i, 1)) par(mar = c(2.5, 1, 2.5, 1)) myd[i] <- myd[myd$group ==i,] filld[i] <- filld[filld$group1 ==i,] blues <- colorRampPalette(c("yellow", "blue")) barplot(as.matrix(diff(myd[i]$avar)), horiz=T, col=blues(10)[10* filld1$fillcol], axes=F, xlab="Mark") axis(1, labels=myd[i]$label, at=myd[i]$avar) axis(3, labels=myd[i]$avar, at=myd[i]$avar) } Error in dim(data) <- dim : attempt to set an attribute on NULL In addition: Warning messages: 1: In `[<-.data.frame`(`*tmp*`, i, value = list(group = c(1L, 1L, 1L, : provided 3 variables to replace 1 variables 2: In `[<-.data.frame`(`*tmp*`, i, value = list(group1 = c(1L, 1L, : provided 2 variables to replace 1 variables </code>
Edits: Eu quero criar um loop para que eu crie vários gráficos dentro do loop:
PS: Eu sou novo em R e stackoverflow. Por favor, desculpe-me se a pergunta não for apropriada, embora eu tenha lido as diretrizes e tentado aderir a ela