Resolvido!!! Muitíssimo obrigado ao Manuel Galdino, que forneceu importantes dicas e ao Éder Comunello, que forneceu essa solução elegante!! Aprendi bastante com vocês!
Gratíssimo!

Abraços!

Em 30 de março de 2016 14:27, Éder Comunello <comunello.eder@gmail.com> escreveu:
Senhores,

Encaminho uma sugestão, criando um objeto raster para cada subset. Alternativamente poderia utilizar um único objeto do tipo RasterBrick ou RasterStack.

### <code r>
set.seed(124)
dados <- cbind(y=rep(c(27, 27.5, 28), each=9), x=sample(0:1, 27, rep=T))
head(dados)

table(dados[,1])
unique(dados[,1]) # 27.0 27.5 28.0

require(raster)
sapply(unique(dados[,1]), function(y) {
     name <- paste0("df.new.", formatC(y, 1, 5, "f", 0))
     sel  <- dados[dados[,1]==y, 2]
     assign(name, raster(matrix(sel,3,3,byrow=T)), envir=.GlobalEnv)
})

ls(patt="df.new") #[1] "df.new.027.0" "df.new.027.5" "df.new.028.0"

### </code>

================================================
Éder Comunello
Agronomist (UEM), MSc in Environ. Sciences (UEM)
DSc in Agricultural Systems Engineering (USP/Esalq)
Brazilian Agricultural Research Corporation (Embrapa)
Dourados, MS, Brazil |<O>|
================================================
GEO, -22.2752, -54.8182, 408m
UTC-04:00 / DST: UTC-03:00




Em 30 de março de 2016 09:40, Manoel Galdino <mcz.fea@gmail.com> escreveu:
o 1:9 é indexado pelo valor de y, certo?
Vê se assim funciona

# vamor primeiro criar um índice pro seu loop
# para isso vou pegar 1:9 (y == 27), depois 10:18 (para y == 27.5) etc. e colocar numa lista

df$index <- 1:nrow(df)
index <- list()
vec <- unique(df$y)
for ( i in 1:length(vec)) {
index[[i]] <- df$index[vec[i]]
}

# agora crio uma lista que vai armazenar o resultado de raster (.)
df.new <- list()

# faz um loop. Resultado é um lista dew data frames.
for
(i in unique(df$y)){ df.new.[[i]] <- raster(matrix(df$x[each 43248 rows],204,212,byrow=T)) }
## se quiser depois juntar os data.frames, use rbind

ps.: não testei no R. Se você mandar um código que cria o df com y e x e em qual biblioteca está função raster posso testar aqui se funciona e ajustar caso tenha algum erro (bem possível).

ps.:2: se funciona, me avise que coloco como respsota no SO.

abcs
Manoel

2016-03-29 18:19 GMT-03:00 Jefferson Ferreira-Ferreira <jecogeo@gmail.com>:
Olá Manoel, obrigado pela tua mensagem.

Dados raster são imagens que contêm a descrição de cada pixel, em oposição aos vetores. Grossamente, pode-se dizer que é um "mapa" onde cada pixel representa um valor. No meu caso, valores binários (0,1) sobre presença/ausência de um fenômeno qualquer.


> df
          y    x
        1 27   1
        2 27   1
        3 27   0
        4 27   1
        5 27   0
        6 27   0
        7 27   0
        8 27   1
        9 27   1
       10 27.5 1
       11 27.5 1
       12 27.5 0
       13 27.5 1
       14 27.5 0
       15 27.5 0
       16 27.5 0
       17 27.5 1
       18 27.5 1

O resultado que preciso são objetos (do tipo raster), um para cada valor de y, com dimensões, digamos aqui, 3x3. 
Eu sei que posso atingir esse resultado através de r1 <- raster(matrix(df$x[1:9],3,3,byrow=T)).
O caso é que eu precisaria de algo mais automatizado, que me separasse, a cada 9 linhas (nesse exemplo), um objeto cujo nome fosse df.new.(valor de y correspondente).
Espero ter conseguido ser claro. Se ficar em dúvida ainda, e puder ajudar, escreva ou dê uma olhada no post.

Obtrigado e um abraços

 


Em 29 de março de 2016 17:01, Manoel Galdino <mcz.fea@gmail.com> escreveu:
O que você quer dizer por raster? Eu não entendi direito o que você quer. Você quer uma lista com 23 objetos?
Dê um exemplo reproduzível menor, digamos com y assumindo dois valores, e qual seria o output neste caso particular.

abcs,
Manoel

2016-03-29 17:52 GMT-03:00 Jefferson Ferreira-Ferreira <jecogeo@gmail.com>:
Pessoal, estou com uma questão aberta no stackoverflow. Se alguém puder ajudar, eu ficaria muito grato!




--

Jefferson Ferreira-Ferreira

Geógrafo – GEOPROCESSAMENTO IDSM | Coordenadoria de TI


Jefferson.ferreira@mamiraua.org.br

Instituto de Desenvolvimento Sustentável Mamirauá

Ministério da Ciência, Tecnologia e Inovação

Telefone: +55 97 3343-9710

Google Maps - Mapas deste e-mail:

Exibir mapa ampliado


Contatos particulares:


_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.



--

_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.



--

Jefferson Ferreira-Ferreira

Geógrafo – GEOPROCESSAMENTO IDSM | Coordenadoria de TI


Jefferson.ferreira@mamiraua.org.br

Instituto de Desenvolvimento Sustentável Mamirauá

Ministério da Ciência, Tecnologia e Inovação

Telefone: +55 97 3343-9710

Google Maps - Mapas deste e-mail:

Exibir mapa ampliado


Contatos particulares:


_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.



--

_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.


_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.



--

Jefferson Ferreira-Ferreira

Geógrafo – GEOPROCESSAMENTO IDSM | Coordenadoria de TI


Jefferson.ferreira@mamiraua.org.br

Instituto de Desenvolvimento Sustentável Mamirauá

Ministério da Ciência, Tecnologia e Inovação

Telefone: +55 97 3343-9710

Google Maps - Mapas deste e-mail:

Exibir mapa ampliado


Contatos particulares:
(55) 9615-0100