[R-br] Criar função utilizando "for"

Robert Iquiapaza rbali em ufmg.br
Segunda Março 24 23:44:31 BRT 2014


Caso se sinta mais confortável com código explícito:

dados = data.frame(matrix(rnorm(500), ncol=10, nrow=50))
cor.multipla <- function(x, y){
  x=as.numeric(x)
  n <- ncol(y)
  y=as.matrix(y,ncol=n)
   cor.mult <- vector()
   for(i in 1:n){cor.mult[i]<- cor.test(x, y[,i])$p.value}
   return(cor.mult)
}
dim(dados)
cor.multipla(dados$X1, dados[2:10])

Sds

Robert

-----Mensagem Original----- 
From: Paulo Justiniano
Sent: Monday, March 24, 2014 10:08 PM
To: r-br em listas.c3sl.ufpr.br
Subject: Re: [R-br] Criar função utilizando "for"

O seu loop for tá sobre escrevendo resultados em
cor.mult<- cor.test(x, y[,i])
e portanto somente o ultimo está  sendo guardado

(note tb que sua matrz de dados esá reciclando valores)

Uma sugestão:

x <- 1:10
y <- matrix(rnorm(200), nrow=10)
apply(y, 2, function(y, x=x) cor.test(x,y)$p.value



On Mon, 24 Mar 2014, Rodrigo Muniz wrote:

> Caros membros da lista, Me desculpem a ignorância, porém sou novo como 
> usuário e estou tentando criar uma função para facilitar uma operação no
> meu banco de dados.
> considerem o exemplo:
>
> dados = as.data.frame(matrix(rnorm(200), ncol=10, nrow=50))
> cor.multipla <- function(x, y){
>   n <- ncol(y)
>   cor.mult <- numeric(0)
>   + for(i in 1:n){cor.mult<- cor.test(x, y[,i])
>   + return(cor.mult$p.value)}
> }
>
> cor.multipla(dados$V1, dados[2:10])
>
> Nesta função, eu gostaria fazer a correlação da coluna 1 com as colunas de 
> 2 a 10, e extrair um vetor de p.value para cada correlação, no entanto,
> a função está me retornando apenas um valor de p.value.
> Alguém poderia me dizer onde eu estou errando ou mesmo se estou indo pelo 
> caminho errado?
> Desde já agradeço...
> --
> Rodrigo A. MunizEng. 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 em 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. 



Mais detalhes sobre a lista de discussão R-br