Re: [R-br] Digest R-br, volume 70, assunto 18

Amigos, gostaria de agradecer muito a ajuda de vocês (Walmes, Eder e Luiz Roberto). Compreendi que vocês construíram as variáveis normais multivariadas com a estrutura de correlação e variâncias com as características biológicas que eu precisava, usando o R. Muito obrigada mesmo pela contribuição! Adriele. Em 18 de outubro de 2016 17:09, <r-br-request@listas.c3sl.ufpr.br> escreveu:
Enviar submissões para a lista de discussão R-br para r-br@listas.c3sl.ufpr.br
Para se cadastrar ou descadastrar via WWW, visite o endereço https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br ou, via email, envie uma mensagem com a palavra 'help' no assunto ou corpo da mensagem para r-br-request@listas.c3sl.ufpr.br
Você poderá entrar em contato com a pessoa que gerencia a lista pelo endereço r-br-owner@listas.c3sl.ufpr.br
Quando responder, por favor edite sua linha Assunto assim ela será mais específica que "Re: Contents of R-br digest..."
Tópicos de Hoje:
1. Re: geração de variáveis aleatórias normais com estrutura de correlação (Éder Comunello) 2. Re: servidor cloud para rodar o R + shiny (Marcio B) 3. Re: servidor cloud para rodar o R + shiny (Fernando Gama) 4. Re: geração de variáveis aleatórias normais com estrutura de correlação (Luiz Roberto Martins Pinto)
----------------------------------------------------------------------
Message: 1 Date: Tue, 18 Oct 2016 14:52:22 -0300 From: Éder Comunello <comunello.eder@gmail.com> To: Adriele Giaretta Biase <adrielegbiase@gmail.com>, a lista Brasileira oficial de discussão do programa R. <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] geração de variáveis aleatórias normais com estrutura de correlação Message-ID: <CABmC8gn0eGcp2ROBMvO+H184T2n1aLNgLsAN92PhXj39RRt+ UA@mail.gmail.com> Content-Type: text/plain; charset="utf-8"
Adriele, boa tarde!
Tentei adaptar seu código R com base no que entendi do script em SAS. Veja se pode ser útil...
### <code r> library(MASS) { set.seed(1357) n <- 1000 # tamanho da amostra gerada (N) p <- 2 # numero de variáveis a serem geradas (K) ME <- rep(1, p) rho <- -0.2 # correlacao negativa - 0.2 sigma2 <- 1 sigma <- sigma2 * ((1-rho)*diag(p)+rho*matrix(1, p, p)) SI <- mvrnorm(n, ME, sigma) } apply(SI, 2, mean) # ~ 1 # [1] 1.037774 1.017846
cor(SI) # ~ sigma # [,1] [,2] # [1,] 1.0000000 -0.1973338 # [2,] -0.1973338 1.0000000
mu <- c(0.0067, 0.1374) mean(0.0017*SI[,1]) # ~ 0.0017 mean(0.0024*SI[,2]) # ~ 0.0024
RES <- data.frame(X1=0.0067+0.0017*SI[,1], X2=0.1374+0.0024*SI[,2])
round(cbind(RES=colMeans(RES), INI=mu),4) # RES INI # X1 0.0085 0.0067 # X2 0.1398 0.1374
cor(RES) # X1 X2 # X1 1.0000000 -0.1973338 # X2 -0.1973338 1.0000000 ### </code>
================================================ Éder Comunello Researcher at Brazilian Agricultural Research Corporation (Embrapa) DSc in Agricultural Systems Engineering (USP/Esalq) MSc in Environ. Sciences (UEM), Agronomist (UEM) --- Embrapa Agropecuária Oeste, Dourados, MS, Brazil |<O>| ================================================ GEO, -22.2752, -54.8182, 408m UTC-04:00 / DST: UTC-03:00
Em 17 de outubro de 2016 16:05, Adriele Giaretta Biase via R-br < r-br@listas.c3sl.ufpr.br> escreveu:
Olá pessoal,
tenho uma dúvida com relação à geração de variáveis aleatórias normais multivariadas no R.
Eu gostaria de gerar duas variáveis aleatórias (x1, x2) usando distribuição normal multivariada com estrutura de correlação entre elas. A Estrutura da matriz de correlação foi estimada antes com base num banco de dados reais (com correlação fraca de - 0.2). Porém, essas variáveis não podem ser negativas, Ex. x1 tem média e variância, respectivamente, iguais a 0.0067 e 0.0017; x2 tem média e variância, respectivamente, iguais a 0.1374 e 0.0024. Eu gero as variáveis da seguinte forma:
*Programa usado no R:*
# Simulando os parâmetros com estrutura de correlação entre eles
n <- 1000 # tamanho da amostra gerada
p <- 2 # numero de variáveis a serem geradas
library(MASS)
# construíndo a matriz de correlação para usar nas simulações, baseadas na característica da amostra coletada
mu<-rep(0, times = p)
rho <- - 0.2 # correlacao negativa - 0.2
sigma2 <- 1
Sigma <- sigma2 * ((1-rho)*diag(p)+rho*matrix(1, p, p))
X1 <- 0.0096 # Media da variavel x1
X2 <- 0.1203 # Media da variavel x2
media <- c(X1,X2)
y <- mvrnorm(n, media, Sigma)
cor(y)
apply(y, 2, mean)
y
[1,] 0.309910452 1.0642521083
[2,] -0.251583312 1.8909032058
[3,] 1.330362012 -1.1239501814
[4,] -0.793399464 -1.5433056284
[5,] 2.165144843 -0.2645184534
[6,] 0.532777085 1.0910864562
[7,] -1.612135390 2.0489354648
[8,] -0.430529913 1.0312062602
...
Quando gero as simulações para x1 e x2 usando a função *mvrnorm*, o resultado me retorna alguns valores negativos para as variáveis, isso não poderia ocorrer. Teria alguma outra função em que eu possa fornecer a variância de cada uma dessas variáveis, além da estrutura de correlação? Como poderia contornar essa situação, usando o R?
*Obs:* No SAS, a seguinte programação funciona perfeitamente:
*proc* *iml*;
wrksize=*100000*;
K=*2*;
N=*1000*; /* tamanho da amostra */
M={*0* *0*};
S={ *1* -*0.5283*,
-*0.5283* *1* };
X=shape(*0*,K,N);
ME=*0*; SI=*1*;
DO I=*1* TO K;
DO J=*1* TO N;
if I>*1*
then
do;
ME=M[I]+(S[*1*:I-*1*,I])`*(inv(S[*1*:I-*1*,*1*:I-*1*])*( X[*1*:I- *1*,J]-M[*1*:I-*1*]));
SI=S[I,I]-(S[*1*:I-*1*,I])`*(inv(S[*1*:I-*1*,*1*:I-*1*])*(S[*1* :I-*1*,I]));
end;
X[I,J]=ME+NORMAL(*0*)*SQRT(SI);
END;
END;
Z=t(X);
varnames='X1':'X2';
create NOVO from Z[colname=varnames];
append from Z;
*quit*;
*data* MEXT; set NOVO;
options ps=*66* ls=*75*;
X1=*0.0067*+*0.0017**X1; /* normal */
X2=*0.1374*+*0.0024**X2; /* normal */
*proc* *corr* data=MEXT;
var X1 X2;
*run*;
-- Adriele Giaretta Biase. Mestre em Estatística e Experimentação Agropecuária - UFLA. Doutora em Estatística e Experimentação Agronômica - ESALQ/ USP Contato: (19) 98861-0619.
_______________________________________________ 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.
-------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/ 20161018/8311c3ef/attachment-0001.html>
------------------------------
Message: 2 Date: Tue, 18 Oct 2016 16:23:33 -0200 From: Marcio B <marciobar@gmail.com> To: Raphael Saldanha <rfsaldanha@gmail.com> Cc: a lista Brasileira oficial de discussão do programa R. <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] servidor cloud para rodar o R + shiny Message-ID: <CAHL8Jho88ReiZabFeB3PuMwftD-9e8ts1_UWJ3p68s2NLPrXpQ@mail. gmail.com> Content-Type: text/plain; charset="utf-8"
Raphael, obrigado
Observei a Digital Ocean, mas ela não fornece todas as vantagens que buscamos. Somos uma empresa de desenvolvimento de software.
No momento montei um servidor R na Amazon e vamos testar outros ambientes, como a IBM.
Mesmo assim agradeço.
Abs.,
Em 29 de setembro de 2016 14:18, Raphael Saldanha <rfsaldanha@gmail.com> escreveu:
Olá Márcio,
Tenho uma experiência muito boa com a Digital Ocean: https://www. digitalocean.com/
2016-09-29 12:53 GMT-03:00 Marcio B via R-br <r-br@listas.c3sl.ufpr.br>:
Olá pessoal boa tarde.
Estou pesquisando um serviço de cloud para utilizar o R + Shiny.
Minha duvida esta no custo e por isso gostaria de saber se alguém pode me ajudar para entender melhor:
Quem é a empresa (cloud) que esta usando? AWS, Azure, Google ou IBM Qual o tipo de serviço para configurar o R + Shiny? Nestes servidores oferecem vários tipos, o que mais encontro na web é o EC2 - AWS, como vários tutoriais de instalação e configuração Se puder nos informar o uso e o custo deste serviço? Principalmente no uso de Memoria e Storage de dados, algum parâmetro para temos uma noção.
Somos uma startup e queremos oferecer nos serviços utilizando o R + Shiny. Porem gostaríamos de um parâmetro para tomar a decisão de configurar este serviço e começar a utilizar.
Espero que fui claro e toda a ajuda será bem vinda.
Obrigado desde já.
Marcio. -- Marcio B.
Cel.: 19 99648.3949 tim 99798.0104 vivo skype: maborbaa http://www.linkedin.com/in/marciobar https://www.facebook.com/marciobar
Empresa http://www.techagr.com/
==== PAZ E BEM ====
_______________________________________________ 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.
-- Marcio B.
Cel.: 19 99648.3949 tim 99798.0104 vivo skype: maborbaa http://www.linkedin.com/in/marciobar https://www.facebook.com/marciobar
Empresa http://www.techagr.com/
==== PAZ E BEM ==== -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/ 20161018/a5513393/attachment-0001.html>
------------------------------
Message: 3 Date: Tue, 18 Oct 2016 15:49:22 -0300 From: Fernando Gama <f.fabiogama88@gmail.com> To: Marcio B <marciobar@gmail.com>, a lista Brasileira oficial de discussão do programa R. <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] servidor cloud para rodar o R + shiny Message-ID: <CAOwqRysOgYTBitciwDr3VhEpmALmNBEwV8c8jr=LDrqEYskrNw@mail. gmail.com> Content-Type: text/plain; charset="utf-8"
Marcio por questão de curiosidade,
tive um problema na empresa que trabalhava quanto a uso do shiny haja vista que os servidores disponíveis não forneciam (na sua versão gratuita) a disponibilização de um serviço multithread para que os usuários das aplicações pudessem acessar de forma simultânea os serviços disponíveis...
Como pretendes lidar com essa limitação já que o valor para habilitar esse serviço é extremamente elevado?
Em 18 de outubro de 2016 15:23, Marcio B via R-br < r-br@listas.c3sl.ufpr.br> escreveu:
Raphael, obrigado
Observei a Digital Ocean, mas ela não fornece todas as vantagens que buscamos. Somos uma empresa de desenvolvimento de software.
No momento montei um servidor R na Amazon e vamos testar outros ambientes, como a IBM.
Mesmo assim agradeço.
Abs.,
Em 29 de setembro de 2016 14:18, Raphael Saldanha <rfsaldanha@gmail.com> escreveu:
Olá Márcio,
Tenho uma experiência muito boa com a Digital Ocean: https://www.digitalocean.com/
2016-09-29 12:53 GMT-03:00 Marcio B via R-br <r-br@listas.c3sl.ufpr.br :
Olá pessoal boa tarde.
Estou pesquisando um serviço de cloud para utilizar o R + Shiny.
Minha duvida esta no custo e por isso gostaria de saber se alguém pode me ajudar para entender melhor:
Quem é a empresa (cloud) que esta usando? AWS, Azure, Google ou IBM Qual o tipo de serviço para configurar o R + Shiny? Nestes servidores oferecem vários tipos, o que mais encontro na web é o EC2 - AWS, como vários tutoriais de instalação e configuração Se puder nos informar o uso e o custo deste serviço? Principalmente no uso de Memoria e Storage de dados, algum parâmetro para temos uma noção.
Somos uma startup e queremos oferecer nos serviços utilizando o R + Shiny. Porem gostaríamos de um parâmetro para tomar a decisão de configurar este serviço e começar a utilizar.
Espero que fui claro e toda a ajuda será bem vinda.
Obrigado desde já.
Marcio. -- Marcio B.
Cel.: 19 99648.3949 tim 99798.0104 vivo skype: maborbaa http://www.linkedin.com/in/marciobar https://www.facebook.com/marciobar
Empresa http://www.techagr.com/
==== PAZ E BEM ====
_______________________________________________ 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.
-- Marcio B.
Cel.: 19 99648.3949 tim 99798.0104 vivo skype: maborbaa http://www.linkedin.com/in/marciobar https://www.facebook.com/marciobar
Empresa http://www.techagr.com/
==== PAZ E BEM ====
_______________________________________________ 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.
-- Att,
| Fernando Gama da Mata | | Database Specialist | Master's Degree UFPA |
| Contacts: +55 91 99150 0365 | f.fabiogama88@gmail.com | Social Networks: [ <https://www.facebook.com/fernando.gama.13>][ <https://plus.google.com/+FernandoGama13>][ <https://www.linkedin.com/in/fernandogama>] | -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/ 20161018/7b9f2b7d/attachment-0001.html>
------------------------------
Message: 4 Date: Tue, 18 Oct 2016 16:09:12 -0300 From: Luiz Roberto Martins Pinto <luizroberto.uesc@gmail.com> To: comunello.eder@gmail.com, a lista Brasileira oficial de discussão do programa R. <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] geração de variáveis aleatórias normais com estrutura de correlação Message-ID: <CAK4=-FBYwLbRMFfh3KYBOAJ+ktXi0MQm+xWDRKVL6SkXjE-4Ow@ mail.gmail.com> Content-Type: text/plain; charset="utf-8"
Se você desejar entender o significado de correlação experimente:
n=10000000 cor_x1x2=-0.2 medx1=0.0067 varx1=0.0017 sdx1=varx1^0.5 medx2=0.1374 varx2=0.0024 sdx2=varx2^0.5 cov_x1x2=-cor_x1x2*(sdx1*sdx2)
sda=(varx1-cov_x1x2)^0.5 sdb=(varx2-cov_x1x2)^0.5 a=rnorm(n,medx1,sda);var(a) b=rnorm(n,medx2,sdb);var(b) c=rnorm(n,0,cov_x1x2^0.5);var(c)
x1=a+c x2=b-c var(x1) var(x2) cor(x1,x2)
Abraços,
Luiz Roberto.
Luiz Roberto Martins Pinto Prof. Pleno/DCET/UESC Laboratório de Estatística Computacional Universidade Estadual de Santa Cruz Ilhéus-Bahia-Brasil
luizroberto.uesc@gmail.com skype: lrmpinto http://lattes.cnpq.br/2732314327604831
"*The s**cience exists because there are patterns. The patterns exist because God created them*. * The statistic exists to research the patterns that God created.*"
Em 18 de outubro de 2016 14:52, Éder Comunello via R-br < r-br@listas.c3sl.ufpr.br> escreveu:
Adriele, boa tarde!
Tentei adaptar seu código R com base no que entendi do script em SAS. Veja se pode ser útil...
### <code r> library(MASS) { set.seed(1357) n <- 1000 # tamanho da amostra gerada (N) p <- 2 # numero de variáveis a serem geradas (K) ME <- rep(1, p) rho <- -0.2 # correlacao negativa - 0.2 sigma2 <- 1 sigma <- sigma2 * ((1-rho)*diag(p)+rho*matrix(1, p, p)) SI <- mvrnorm(n, ME, sigma) } apply(SI, 2, mean) # ~ 1 # [1] 1.037774 1.017846
cor(SI) # ~ sigma # [,1] [,2] # [1,] 1.0000000 -0.1973338 # [2,] -0.1973338 1.0000000
mu <- c(0.0067, 0.1374) mean(0.0017*SI[,1]) # ~ 0.0017 mean(0.0024*SI[,2]) # ~ 0.0024
RES <- data.frame(X1=0.0067+0.0017*SI[,1], X2=0.1374+0.0024*SI[,2])
round(cbind(RES=colMeans(RES), INI=mu),4) # RES INI # X1 0.0085 0.0067 # X2 0.1398 0.1374
cor(RES) # X1 X2 # X1 1.0000000 -0.1973338 # X2 -0.1973338 1.0000000 ### </code>
================================================ Éder Comunello Researcher at Brazilian Agricultural Research Corporation (Embrapa) DSc in Agricultural Systems Engineering (USP/Esalq) MSc in Environ. Sciences (UEM), Agronomist (UEM) --- Embrapa Agropecuária Oeste, Dourados, MS, Brazil |<O>| ================================================ GEO, -22.2752, -54.8182, 408m UTC-04:00 / DST: UTC-03:00
Em 17 de outubro de 2016 16:05, Adriele Giaretta Biase via R-br < r-br@listas.c3sl.ufpr.br> escreveu:
Olá pessoal,
tenho uma dúvida com relação à geração de variáveis aleatórias normais multivariadas no R.
Eu gostaria de gerar duas variáveis aleatórias (x1, x2) usando distribuição normal multivariada com estrutura de correlação entre elas. A Estrutura da matriz de correlação foi estimada antes com base num banco de dados reais (com correlação fraca de - 0.2). Porém, essas variáveis não podem ser negativas, Ex. x1 tem média e variância, respectivamente, iguais a 0.0067 e 0.0017; x2 tem média e variância, respectivamente, iguais a 0.1374 e 0.0024. Eu gero as variáveis da seguinte forma:
*Programa usado no R:*
# Simulando os parâmetros com estrutura de correlação entre eles
n <- 1000 # tamanho da amostra gerada
p <- 2 # numero de variáveis a serem geradas
library(MASS)
# construíndo a matriz de correlação para usar nas simulações, baseadas na característica da amostra coletada
mu<-rep(0, times = p)
rho <- - 0.2 # correlacao negativa - 0.2
sigma2 <- 1
Sigma <- sigma2 * ((1-rho)*diag(p)+rho*matrix(1, p, p))
X1 <- 0.0096 # Media da variavel x1
X2 <- 0.1203 # Media da variavel x2
media <- c(X1,X2)
y <- mvrnorm(n, media, Sigma)
cor(y)
apply(y, 2, mean)
y
[1,] 0.309910452 1.0642521083
[2,] -0.251583312 1.8909032058
[3,] 1.330362012 -1.1239501814
[4,] -0.793399464 -1.5433056284
[5,] 2.165144843 -0.2645184534
[6,] 0.532777085 1.0910864562
[7,] -1.612135390 2.0489354648
[8,] -0.430529913 1.0312062602
...
Quando gero as simulações para x1 e x2 usando a função *mvrnorm*, o resultado me retorna alguns valores negativos para as variáveis, isso não poderia ocorrer. Teria alguma outra função em que eu possa fornecer a variância de cada uma dessas variáveis, além da estrutura de correlação? Como poderia contornar essa situação, usando o R?
*Obs:* No SAS, a seguinte programação funciona perfeitamente:
*proc* *iml*;
wrksize=*100000*;
K=*2*;
N=*1000*; /* tamanho da amostra */
M={*0* *0*};
S={ *1* -*0.5283*,
-*0.5283* *1* };
X=shape(*0*,K,N);
ME=*0*; SI=*1*;
DO I=*1* TO K;
DO J=*1* TO N;
if I>*1*
then
do;
ME=M[I]+(S[*1*:I-*1*,I])`*(inv(S[*1*:I-*1*,*1*:I-*1*])*( X[*1*:I- *1*,J]-M[*1*:I-*1*]));
SI=S[I,I]-(S[*1*:I-*1*,I])`*(inv(S[*1*:I-*1*,*1*:I-*1*])*( S[*1* :I-*1*,I]));
end;
X[I,J]=ME+NORMAL(*0*)*SQRT(SI);
END;
END;
Z=t(X);
varnames='X1':'X2';
create NOVO from Z[colname=varnames];
append from Z;
*quit*;
*data* MEXT; set NOVO;
options ps=*66* ls=*75*;
X1=*0.0067*+*0.0017**X1; /* normal */
X2=*0.1374*+*0.0024**X2; /* normal */
*proc* *corr* data=MEXT;
var X1 X2;
*run*;
-- Adriele Giaretta Biase. Mestre em Estatística e Experimentação Agropecuária - UFLA. Doutora em Estatística e Experimentação Agronômica - ESALQ/ USP Contato: (19) 98861-0619.
_______________________________________________ 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.
-------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/ 20161018/d54ee426/attachment.html>
------------------------------
Subject: Legenda do Digest
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
------------------------------
Fim da Digest R-br, volume 70, assunto 18 *****************************************
-- Adriele Giaretta Biase. Mestre em Estatística e Experimentação Agropecuária - UFLA. Doutora em Estatística e Experimentação Agronômica - ESALQ/ USP Contato: (19) 98861-0619.
participantes (1)
-
Adriele Giaretta Biase