Manipulação de data frame

Caros membros da lista, Desculpe por não enviar nenhum exemplo ou lista de comando. Tenho um dataframe com 1500 colunas e 700 linhas, eu preciso fazer uma razão entre todas as colunas, ou seja, C1/C2, C1/C3, C1/C4....C1499/C1500. Fazer essa divisão de forma manual apenas por indexação dos vetores é simples, porém, isso daria muito trabalho e acredito que deve haver um jeito mais fácil de fazer isso. Porém não tenho a menor ideia de como começar a fazer-lo. Por isso peço a ajuda de vocês, se alguém conhece alguma forma, algum exemplo, ou mesmo algum material que eu possa consultar, para que eu tenha esse "input" inicial. Desde já agradeço. Att... -- *Rodrigo A. Muniz* Eng. Agrônomo. Ms Produção Vegetal (UENF) Doutorando em Engenharia de Sistemas Agrícolas (ESALQ/USP) Cel (19) 8300-4333 (Pessoal) Tel (19) 3375-1196 (Residêncial) Tel (19) 3447-8537 (Trabalho)

Assumindo DF como seu data.frame: DF <- as.data.frame(matrix(rnorm(100), ncol = 20, nrow = 5)) DF[-1] / DF[-ncol(DF)] 2014-03-11 20:40 GMT-03:00 Rodrigo Muniz <uenf.rodrigo@gmail.com>:
Caros membros da lista, Desculpe por não enviar nenhum exemplo ou lista de comando. Tenho um dataframe com 1500 colunas e 700 linhas, eu preciso fazer uma razão entre todas as colunas, ou seja, C1/C2, C1/C3, C1/C4....C1499/C1500. Fazer essa divisão de forma manual apenas por indexação dos vetores é simples, porém, isso daria muito trabalho e acredito que deve haver um jeito mais fácil de fazer isso. Porém não tenho a menor ideia de como começar a fazer-lo. Por isso peço a ajuda de vocês, se alguém conhece alguma forma, algum exemplo, ou mesmo algum material que eu possa consultar, para que eu tenha esse "input" inicial. Desde já agradeço. Att...
-- *Rodrigo A. Muniz* Eng. Agrônomo. Ms Produção Vegetal (UENF) Doutorando em Engenharia de Sistemas Agrícolas (ESALQ/USP) Cel (19) 8300-4333 (Pessoal) Tel (19) 3375-1196 (Residêncial) Tel (19) 3447-8537 (Trabalho)
_______________________________________________ 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.
-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O

Obrigado Henrique, ainda não deu certo, mas pelo menos já tenho uma ideia por onde começar. Att... 2014-03-11 22:57 GMT-03:00 Henrique Dallazuanna <wwwhsd@gmail.com>:
Assumindo DF como seu data.frame:
DF <- as.data.frame(matrix(rnorm(100), ncol = 20, nrow = 5)) DF[-1] / DF[-ncol(DF)]
2014-03-11 20:40 GMT-03:00 Rodrigo Muniz <uenf.rodrigo@gmail.com>:
Caros membros da lista, Desculpe por não enviar nenhum exemplo ou lista de comando. Tenho um dataframe com 1500 colunas e 700 linhas, eu preciso fazer uma razão entre todas as colunas, ou seja, C1/C2, C1/C3, C1/C4....C1499/C1500. Fazer essa divisão de forma manual apenas por indexação dos vetores é simples, porém, isso daria muito trabalho e acredito que deve haver um jeito mais fácil de fazer isso. Porém não tenho a menor ideia de como começar a fazer-lo. Por isso peço a ajuda de vocês, se alguém conhece alguma forma, algum exemplo, ou mesmo algum material que eu possa consultar, para que eu tenha esse "input" inicial. Desde já agradeço. Att...
-- *Rodrigo A. Muniz* Eng. Agrônomo. Ms Produção Vegetal (UENF) Doutorando em Engenharia de Sistemas Agrícolas (ESALQ/USP) Cel (19) 8300-4333 (Pessoal) Tel (19) 3375-1196 (Residêncial) Tel (19) 3447-8537 (Trabalho)
_______________________________________________ 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.
-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O
_______________________________________________ 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.
-- *Rodrigo A. Muniz* Eng. Agrônomo. Ms Produção Vegetal (UENF) Doutorando em Engenharia de Sistemas Agrícolas (ESALQ/USP) Cel (19) 8300-4333 (Pessoal) Tel (19) 3375-1196 (Residêncial) Tel (19) 3447-8537 (Trabalho)

Rodrigo, teria que saber que tipo de saída deseja para lhe ajudar mais adequadamente, mas uma forma de dividir todas as colunas por todas do data.frame é: DF <- as.data.frame(matrix(rnorm(100), ncol = 20, nrow = 5)) lapply(DF,"/",DF) abraço Gledson Em 12 de março de 2014 10:23, Rodrigo Muniz <uenf.rodrigo@gmail.com>escreveu:
Obrigado Henrique, ainda não deu certo, mas pelo menos já tenho uma ideia por onde começar. Att...
2014-03-11 22:57 GMT-03:00 Henrique Dallazuanna <wwwhsd@gmail.com>:
Assumindo DF como seu data.frame:
DF <- as.data.frame(matrix(rnorm(100), ncol = 20, nrow = 5)) DF[-1] / DF[-ncol(DF)]
2014-03-11 20:40 GMT-03:00 Rodrigo Muniz <uenf.rodrigo@gmail.com>:
Caros membros da lista, Desculpe por não enviar nenhum exemplo ou lista de comando. Tenho um dataframe com 1500 colunas e 700 linhas, eu preciso fazer uma razão entre todas as colunas, ou seja, C1/C2, C1/C3, C1/C4....C1499/C1500. Fazer essa divisão de forma manual apenas por indexação dos vetores é simples, porém, isso daria muito trabalho e acredito que deve haver um jeito mais fácil de fazer isso. Porém não tenho a menor ideia de como começar a fazer-lo. Por isso peço a ajuda de vocês, se alguém conhece alguma forma, algum exemplo, ou mesmo algum material que eu possa consultar, para que eu tenha esse "input" inicial. Desde já agradeço. Att...
-- *Rodrigo A. Muniz* Eng. Agrônomo. Ms Produção Vegetal (UENF) Doutorando em Engenharia de Sistemas Agrícolas (ESALQ/USP) Cel (19) 8300-4333 (Pessoal) Tel (19) 3375-1196 (Residêncial) Tel (19) 3447-8537 (Trabalho)
_______________________________________________ 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.
-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O
_______________________________________________ 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.
-- *Rodrigo A. Muniz* Eng. Agrônomo. Ms Produção Vegetal (UENF) Doutorando em Engenharia de Sistemas Agrícolas (ESALQ/USP) Cel (19) 8300-4333 (Pessoal) Tel (19) 3375-1196 (Residêncial) Tel (19) 3447-8537 (Trabalho)
_______________________________________________ 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.

Olá Gledson, eu precisava de um outro dataframe, então coloquei o comando "as.data.frame" e deu certo. Muito obrigado. 2014-03-12 13:32 GMT-03:00 gledson picharski <gledson.picharski@gmail.com>:
Rodrigo,
teria que saber que tipo de saída deseja para lhe ajudar mais adequadamente, mas uma forma de dividir todas as colunas por todas do data.frame é:
DF <- as.data.frame(matrix(rnorm(100), ncol = 20, nrow = 5)) lapply(DF,"/",DF)
abraço Gledson
Em 12 de março de 2014 10:23, Rodrigo Muniz <uenf.rodrigo@gmail.com>escreveu:
Obrigado Henrique, ainda não deu certo, mas pelo menos já tenho uma ideia
por onde começar. Att...
2014-03-11 22:57 GMT-03:00 Henrique Dallazuanna <wwwhsd@gmail.com>:
Assumindo DF como seu data.frame:
DF <- as.data.frame(matrix(rnorm(100), ncol = 20, nrow = 5)) DF[-1] / DF[-ncol(DF)]
2014-03-11 20:40 GMT-03:00 Rodrigo Muniz <uenf.rodrigo@gmail.com>:
Caros membros da lista, Desculpe por não enviar nenhum exemplo ou lista de comando. Tenho um dataframe com 1500 colunas e 700 linhas, eu preciso fazer uma razão entre todas as colunas, ou seja, C1/C2, C1/C3, C1/C4....C1499/C1500. Fazer essa divisão de forma manual apenas por indexação dos vetores é simples, porém, isso daria muito trabalho e acredito que deve haver um jeito mais fácil de fazer isso. Porém não tenho a menor ideia de como começar a fazer-lo. Por isso peço a ajuda de vocês, se alguém conhece alguma forma, algum exemplo, ou mesmo algum material que eu possa consultar, para que eu tenha esse "input" inicial. Desde já agradeço. Att...
-- *Rodrigo A. Muniz* Eng. Agrônomo. Ms Produção Vegetal (UENF) Doutorando em Engenharia de Sistemas Agrícolas (ESALQ/USP) Cel (19) 8300-4333 (Pessoal) Tel (19) 3375-1196 (Residêncial) Tel (19) 3447-8537 (Trabalho)
_______________________________________________ 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.
-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O
_______________________________________________ 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.
-- *Rodrigo A. Muniz* Eng. Agrônomo. Ms Produção Vegetal (UENF) Doutorando em Engenharia de Sistemas Agrícolas (ESALQ/USP) Cel (19) 8300-4333 (Pessoal) Tel (19) 3375-1196 (Residêncial) Tel (19) 3447-8537 (Trabalho)
_______________________________________________ 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.
-- *Rodrigo A. Muniz* Eng. Agrônomo. Ms Produção Vegetal (UENF) Doutorando em Engenharia de Sistemas Agrícolas (ESALQ/USP) Cel (19) 8300-4333 (Pessoal) Tel (19) 3375-1196 (Residêncial) Tel (19) 3447-8537 (Trabalho)

Boa tarde, Uma sugestão, alocando o resultado em um arranjo matricial (array): ### <code r> ### Partindo de um data.frame (DF) DF <- as.data.frame(matrix(runif(50), 10, 5, byrow=T)); DF LST <- lapply(1:length(DF), function(x) as.matrix(DF/DF[,x])) ARR <- array(unlist(LST), dim = c(nrow(LST[[1]]), ncol(LST[[1]]), length(LST))) ### Algumas operações possíveis ARR ARR[,,c(3:4)] ind <- which(ARR>5, arr.ind=T); ind data.frame(ind, val=ARR[ind]) ### </code> Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W] Em 12 de março de 2014 13:06, Rodrigo Muniz <uenf.rodrigo@gmail.com>escreveu:
Olá Gledson, eu precisava de um outro dataframe, então coloquei o comando "as.data.frame" e deu certo. Muito obrigado.
2014-03-12 13:32 GMT-03:00 gledson picharski <gledson.picharski@gmail.com> :
Rodrigo,
teria que saber que tipo de saída deseja para lhe ajudar mais adequadamente, mas uma forma de dividir todas as colunas por todas do data.frame é:
DF <- as.data.frame(matrix(rnorm(100), ncol = 20, nrow = 5)) lapply(DF,"/",DF)
abraço Gledson
Em 12 de março de 2014 10:23, Rodrigo Muniz <uenf.rodrigo@gmail.com>escreveu:
Obrigado Henrique, ainda não deu certo, mas pelo menos já tenho uma ideia
por onde começar. Att...
2014-03-11 22:57 GMT-03:00 Henrique Dallazuanna <wwwhsd@gmail.com>:
Assumindo DF como seu data.frame:
DF <- as.data.frame(matrix(rnorm(100), ncol = 20, nrow = 5)) DF[-1] / DF[-ncol(DF)]
2014-03-11 20:40 GMT-03:00 Rodrigo Muniz <uenf.rodrigo@gmail.com>:
Caros membros da lista, Desculpe por não enviar nenhum exemplo ou lista de comando. Tenho um dataframe com 1500 colunas e 700 linhas, eu preciso fazer uma razão entre todas as colunas, ou seja, C1/C2, C1/C3, C1/C4....C1499/C1500. Fazer essa divisão de forma manual apenas por indexação dos vetores é simples, porém, isso daria muito trabalho e acredito que deve haver um jeito mais fácil de fazer isso. Porém não tenho a menor ideia de como começar a fazer-lo. Por isso peço a ajuda de vocês, se alguém conhece alguma forma, algum exemplo, ou mesmo algum material que eu possa consultar, para que eu tenha esse "input" inicial. Desde já agradeço. Att...
-- *Rodrigo A. Muniz* Eng. Agrônomo. Ms Produção Vegetal (UENF) Doutorando em Engenharia de Sistemas Agrícolas (ESALQ/USP) Cel (19) 8300-4333 (Pessoal) Tel (19) 3375-1196 (Residêncial) Tel (19) 3447-8537 (Trabalho)
_______________________________________________ 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.
-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O
_______________________________________________ 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.
-- *Rodrigo A. Muniz* Eng. Agrônomo. Ms Produção Vegetal (UENF) Doutorando em Engenharia de Sistemas Agrícolas (ESALQ/USP) Cel (19) 8300-4333 (Pessoal) Tel (19) 3375-1196 (Residêncial) Tel (19) 3447-8537 (Trabalho)
_______________________________________________ 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.
-- *Rodrigo A. Muniz* Eng. Agrônomo. Ms Produção Vegetal (UENF) Doutorando em Engenharia de Sistemas Agrícolas (ESALQ/USP) Cel (19) 8300-4333 (Pessoal) Tel (19) 3375-1196 (Residêncial) Tel (19) 3447-8537 (Trabalho)
_______________________________________________ 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.

Obrigado Éder, já havia conseguido resolver antes com a ajuda do colega Gledson, porém achei muito interessante a solução proposta por você. Mais uma vez obrigado pela ajuda. Att... 2014-03-12 19:49 GMT-03:00 Éder Comunello <comunello.eder@gmail.com>:
Boa tarde,
Uma sugestão, alocando o resultado em um arranjo matricial (array):
### <code r> ### Partindo de um data.frame (DF) DF <- as.data.frame(matrix(runif(50), 10, 5, byrow=T)); DF LST <- lapply(1:length(DF), function(x) as.matrix(DF/DF[,x])) ARR <- array(unlist(LST), dim = c(nrow(LST[[1]]), ncol(LST[[1]]), length(LST)))
### Algumas operações possíveis ARR ARR[,,c(3:4)] ind <- which(ARR>5, arr.ind=T); ind data.frame(ind, val=ARR[ind]) ### </code>
Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]
Em 12 de março de 2014 13:06, Rodrigo Muniz <uenf.rodrigo@gmail.com>escreveu:
Olá Gledson, eu precisava de um outro dataframe, então coloquei o comando
"as.data.frame" e deu certo. Muito obrigado.
2014-03-12 13:32 GMT-03:00 gledson picharski <gledson.picharski@gmail.com
:
Rodrigo,
teria que saber que tipo de saída deseja para lhe ajudar mais adequadamente, mas uma forma de dividir todas as colunas por todas do data.frame é:
DF <- as.data.frame(matrix(rnorm(100), ncol = 20, nrow = 5)) lapply(DF,"/",DF)
abraço Gledson
Em 12 de março de 2014 10:23, Rodrigo Muniz <uenf.rodrigo@gmail.com>escreveu:
Obrigado Henrique, ainda não deu certo, mas pelo menos já tenho uma
ideia por onde começar. Att...
2014-03-11 22:57 GMT-03:00 Henrique Dallazuanna <wwwhsd@gmail.com>:
Assumindo DF como seu data.frame:
DF <- as.data.frame(matrix(rnorm(100), ncol = 20, nrow = 5)) DF[-1] / DF[-ncol(DF)]
2014-03-11 20:40 GMT-03:00 Rodrigo Muniz <uenf.rodrigo@gmail.com>:
Caros membros da lista, Desculpe por não enviar nenhum exemplo ou lista de comando. Tenho um dataframe com 1500 colunas e 700 linhas, eu preciso fazer uma razão entre todas as colunas, ou seja, C1/C2, C1/C3, C1/C4....C1499/C1500. Fazer essa divisão de forma manual apenas por indexação dos vetores é simples, porém, isso daria muito trabalho e acredito que deve haver um jeito mais fácil de fazer isso. Porém não tenho a menor ideia de como começar a fazer-lo. Por isso peço a ajuda de vocês, se alguém conhece alguma forma, algum exemplo, ou mesmo algum material que eu possa consultar, para que eu tenha esse "input" inicial. Desde já agradeço. Att...
-- *Rodrigo A. Muniz* Eng. Agrônomo. Ms Produção Vegetal (UENF) Doutorando em Engenharia de Sistemas Agrícolas (ESALQ/USP) Cel (19) 8300-4333 (Pessoal) Tel (19) 3375-1196 (Residêncial) Tel (19) 3447-8537 (Trabalho)
_______________________________________________ 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.
-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O
_______________________________________________ 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.
-- *Rodrigo A. Muniz* Eng. Agrônomo. Ms Produção Vegetal (UENF) Doutorando em Engenharia de Sistemas Agrícolas (ESALQ/USP) Cel (19) 8300-4333 (Pessoal) Tel (19) 3375-1196 (Residêncial) Tel (19) 3447-8537 (Trabalho)
_______________________________________________ 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.
-- *Rodrigo A. Muniz* Eng. Agrônomo. Ms Produção Vegetal (UENF) Doutorando em Engenharia de Sistemas Agrícolas (ESALQ/USP) Cel (19) 8300-4333 (Pessoal) Tel (19) 3375-1196 (Residêncial) Tel (19) 3447-8537 (Trabalho)
_______________________________________________ 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.
-- *Rodrigo A. Muniz* Eng. Agrônomo. Ms Produção Vegetal (UENF) Doutorando em Engenharia de Sistemas Agrícolas (ESALQ/USP) Cel (19) 8300-4333 (Pessoal) Tel (19) 3375-1196 (Residêncial) Tel (19) 3447-8537 (Trabalho)
participantes (4)
-
gledson picharski
-
Henrique Dallazuanna
-
Rodrigo Muniz
-
Éder Comunello