[R-br] tabela com frequencia relativa e absoluta

lutipilotto em yahoo.com.br lutipilotto em yahoo.com.br
Quarta Outubro 22 23:50:04 BRST 2014


Olá pessoal, 


tem algum comando para fazer uma tabela única direto no R com frequencia relativa e absoluta? E tb valores de chi² e p.

Estou usando os comandos abaixo, mas o resultado aparece em tabelas individuais.


table(q11,q13)
rowPercents(table(q11,q13))
f <- chiSquare(q13 ~ q11)
f



Atenciosamente,

Luciane Pilotto






Enviado do Email do Windows





De: Hélio Gallo Rocha
Enviado: ‎quarta-feira‎, ‎22‎ de ‎outubro‎ de ‎2014 ‎09‎:‎07
Para: r-br





Mauro, bom dia.






Não sei qual seu objetivo no uso desta função, assim vou te passar o histórico e se quiser dando idéias, será bem vindo

Estou estudando geoestatística e é interessante saber que regiões tem seus atributos "parecidos".

A idéia inicial era utilizar a função skater do pacote spdep.




Como tenho pontos teria de criar poligonos, que foi realizado com a função deldir, e listar os poligonos.




A listagem era um problemão, pois teria de crira poligono por poligono, como no CRM inicial.

Problema resolvido com a preciosa ajuda do Rafael. que sugeriu usar a função poly2nb do pacote sddep




Com  a função deldir apenas gera poligonos assim foi necessário inserir dados aos mesmo e torná-los um SpatialPolygonsDataFrame





Dai pra frente o código está em estudo, veja:


require(deldir)  ;require(spdep)

## 1. Coordenadas

n <- 40 

set.seed(47)

x <- runif(n)

y <- runif(n)

plot(x,y)

## 2. Dados

 set.seed(1389)

dados <- data.frame(rnorm(n,10,sd=5), rnorm(n,15,sd=5),rnorm(n,20,sd=5))

colnames(dados)<- paste("var",1:3,sep="")

row.names(dados) <- paste("reg", 1:n, sep = "")

dados

class(dados)




## 3. gerando coordenadas dos poligonos com função deldir

d <- deldir(x,y)




ttt <- triang.list(d)

plot(ttt)

plot(ttt,border="red",showrect=TRUE)

sss <- tile.list(d)

plot(sss)

plot(ttt,add=TRUE,border="blue")




##  4. Gerando poligonos

### Rafael  Tieppo----  G R A N D E   A J U D A ! ! ! !







FUN_VOR_MAT <- function (A,TT) #TT é  o arquivo, N o número do POL

    {

        AA <- 1

        BB <- 2

        NROW <- length (A[[TT]]$x) + 1 #add primeiro ponto







        VORONOI_MATRIX <- matrix(0,NROW,2)

        VORONOI_MATRIX[1:NROW,AA] <- A[[TT]]$x[1:NROW]

        VORONOI_MATRIX[1:NROW,BB] <- A[[TT]]$y[1:NROW]

        VORONOI_MATRIX[NROW,AA]   <- A[[TT]]$x[1] #+ 1 add primeiro ponto

        VORONOI_MATRIX[NROW,BB]   <- A[[TT]]$y[1] #+ 1 add primeiro ponto




        if(TT == NROW){

        print("17/10/2014, [hidden email] ")}

        return(VORONOI_MATRIX)

    }




## Agora vc vai usar a funcao:

AREAS<-  lapply(1:length(sss), function (x) ( FUN_VOR_MAT(sss,x))  )

        summary(AREAS)

## 5. Formando Polygons

POLS<-  lapply(1:length(AREAS), function(x) Polygons(list(Polygon(AREAS[[x]])),

       ID = paste("reg", x, sep = "")))

 summary(POLS)

 class(POLS)

 




 SPol <- SpatialPolygons(POLS) 

 class(SPol) 

  plot(SPol)

  bbox(SPol)

              

## 6. Inserindo dados aos poligonos 

 SPolDF <- SpatialPolygonsDataFrame(SPol, dados) 

plot(SPolDF)

 

 

## 7.   Código para visualizar áreas "parecidas"




## em estudo

(coordenadas=cbind(x,y))

class(coordenadas)







## 

rn <- sapply(slot(SPolDF, "polygons"), function(x) slot(x, "ID"))




knn1 <- knearneigh(coordenadas, 1)




knn2 <- knearneigh(coordenadas, 2)




nb1 <- knn2nb(knn1, row.names=rn)




nb2 <- knn2nb(knn2, row.names=rn)




##1

diffs <- diffnb(nb2, nb1)

plot(SPolDF, border="grey")

plot(nb1, coordenadas, add=TRUE)

plot(diffs, coordenadas, add=TRUE, col="red")

title(main=paste("Differences (red) in Columbus GAL weights (black)", "and polygon generated queen weights", sep="\n"))

 

 

##2 

xxx <- poly2nb(SPolDF, queen=FALSE)

dxxx <- diffnb(xxx, nb1)

plot(SPolDF, border = "grey")

plot(nb1, coordenadas, add = TRUE)

plot(dxxx, coordenadas, add = TRUE, col = "red")

title(main=paste("Differences (red) in Columbus GAL weights (black)",

 "and polygon generated rook weightsvvv", sep="\n"))




## 3

cards <- card(nb2)

maxconts <- which(cards == max(cards))

if(length(maxconts) > 1) maxconts <- maxconts[1]

fg <- rep("grey", length(cards))

fg[maxconts] <- "red"

fg[nb2[[maxconts]]] <- "green"

plot(SPolDF, col=fg)

title(main="Region with largest number of contiguities")







plot(SPolDF, border="grey")

plot(nb1, coordenadas, add=TRUE)

plot(diffs, coordenadas, add=TRUE, col="red", lty=2)







Abraço




Hélio



Em 21 de outubro de 2014 23:41, Mauro Sznelwar [via R-br] <ml-node+s2285057n4663338h46 em n4.nabble.com> escreveu:



Tentei rodar vosso script, mas a partir daí não foi mais, qual o motivo?

> plot(sss)

> polygon(p1,border="green",lwd=3)  

Error in xy.coords(x, y) : 

  'x' is a list, but does not have components 'x' and 'y'



 

 


Caros Elias e Rafael.


 


Rafael, obrigado pelo código, vou testar, mas depois de conseguir separar os polígonos.


Na realidade é essa a minha dificuldade.


 


Fiz uns testes que deram certo, mas estou separando um polígono por vez, assim fica muito trabalhoso, de uma olhada no código que é a partir do enviado no primeiro post:



 


 


## objeto que possui as coordenadas geradas na função deldir é o objeto sss


 


## coordenadas do poligono 01


(x1 <- sss[[1]][2])


(y1 <- sss[[1]][3])


 


## coordenadas do poligono 02


x2 <- sss[[2]][2]


y2 <- sss[[2]][3]


.


.


.


.


.  


## coordenadas do poligono 20


x20 <- sss[[20]][2]


y20 <- sss[[20]][3]


             


## Agrupando as coordenadas num só objeto


(p1 <-c(x1,y1))


 


(p2 <-c(x2,y2))


 


(p20 <-c(x20,y20))


 


## visualizando  os poligonos


plot(sss)


polygon(p1,border="green",lwd=3)  


polygon(p2,border="red",lwd=3)  


polygon(p20,border="blue",lwd=3)  


 


## Os passos seguintes diferem do seu


 


## tentativa de gerar um SpatialPolygons, que tem de estar fechado, ou seja a primeira e a ultima linhas de coordenadas tem de ser a mesma


 



(x11 <- c(p1$x, p1$x[1]))


(y11 <- c(p1$y, p1$y[1]))


 


 


(p1 <- cbind(x11,y11))


 


## transformando em SpatialPolygons



### Passo 1


linep1=Polygon(p1);class(linep1) #Polygon


linep1


 


 


## Passo 2


linep1a=Polygons(list(linep1),ID="a");class(linep1a) #   Polygons


linep1a


 


## Passo 3


linesp=SpatialPolygons(list(linep1a));class(linesp) #SpatialPolygons


linesp


 


## Passo 4


proj4string(linesp) <- CRS("+proj=utm + zone=23s +datum=WGS84")


summary(linesp)


plot(linesp)


 


Se puder dar uma mão, agradeço desde já..


 


Abraço


 


Hélio


 


Em 20 de outubro de 2014 13:22, Rafael Tieppo [via R-br] <[hidden email]> escreveu:





Hélio,


 


Após dividir sua área em polígonos, vc terá um conjunto de coordenadas, onde cada conjunto será um polígono.


Com esse objeto pronto em forma de lista:


 


Passo 1: Formar "Polygons"


POLS <- lapply(1:length(AREAS), function(x) Polygons(list(Polygon(AREAS[[x]])),


       ID = paste("reg", x, sep = "")))


Passo 2:Converter em "SpatialPolygons"


POLS <- as.SpatialPolygons.PolygonsList(POLS, proj4string=CRS(as.character(NA)))


 


Agora vc já pode usar a função  poly2nb()


 poly2nb(POLS)


 


Tem um tutorial bem detalhado do professor:


Classes para dados espaciais: o pacote sp




 



 

 image 


 


 


 


 


 




Classes para dados espaciais: o pacote sp


[next] [prev] [prev-tail] [tail] [up] 31 Classes para dados espaciais: o pacote sp 




View on www.leg.ufpr.br

Preview by Yahoo




 




 


 


Rafael Tieppo


 





On Sunday, October 19, 2014 7:52 PM, "[hidden email]" <[hidden email]> wrote:

 


Enviar submissões para a lista de discussão R-br para 
    [hidden email]

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 
    [hidden email]

Você poderá entrar em contato com a pessoa que gerencia a lista pelo
endereço
    [hidden email]

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. Integral ([hidden email])
  2. skater e deldir (Hélio Gallo Rocha)
  3. Re: Integral (walmes .)
  4. Re: Integral (Diogo Ferrari)


----------------------------------------------------------------------

Message: 1
Date: Sun, 19 Oct 2014 17:23:19 -0200
From: [hidden email]
To: "[hidden email]" <[hidden email]>
Subject: [R-br] Integral
Message-ID: <[hidden email]>
Content-Type: text/plain; charset="iso-8859-1"

Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141019/d7d3470d/attachment-0001.html>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: Integral.jpg
Tipo: image/jpeg
Tamanho: 38510 bytes
Descrição: não disponível
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141019/d7d3470d/attachment-0001.jpg>

------------------------------

Message: 2
Date: Sun, 19 Oct 2014 18:29:49 -0200
From: Hélio Gallo Rocha <[hidden email]>
To: r-br <[hidden email]>
Subject: [R-br] skater e deldir
Message-ID:
    <CA+[hidden email]>
Content-Type: text/plain; charset="utf-8"





Caros da lista,

Estou tentando implementar o uso de SKATER do pacote spdep.
Gostaria de contar com a boa vontade dos listeiros para resolver esta
dificuldade.

Para iniciar o skater tenho de dividir minha área em poligonos.
Para tal estou usando o pacote deldir. Abaixo um exemplo da própria página
CRAN.


require(deldir)
set.seed(42)
x <- runif(20)
y <- runif(20)
d <- deldir(x,y)
(ttt <- triang.list(d)  )
plot(ttt,border="red",showrect=TRUE)
(sss <- tile.list(d))
plot(sss)
plot(ttt,add=TRUE,border="blue")


O objeto ttt lista os conjuntos de três pontos que formam o poligono

Teria uma forma automatizada para gerar estes poligonos no formato shape,
pois o CRM do skater que tenho utiliza o comando "readShapePoly" do spdep.

Tentei exportar para o formato XLS, mas não foi possível pois o objeto ttt
não é um data.frame



Agradeço desde já
-- 
Hélio Gallo Rocha
IFSULDEMINAS - Câmpus Muzambinho

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141019/e658abd9/attachment-0001.html>

------------------------------

Message: 3
Date: Sun, 19 Oct 2014 19:40:44 -0200
From: "walmes ." <[hidden email]>
To: [hidden email]
Subject: Re: [R-br] Integral
Message-ID:
    <CAFU=EkZ_E8hLAgXoUk79T7u6qpi4LLtbqrNAvjCXx+[hidden email]>
Content-Type: text/plain; charset="utf-8"

?
Eu gosto muito de desafios de cálculo mas aprecio muito mais o desafio
quando sei do que se trata, quando tem contexto. Você não forneceu nenhum.
Meu julgamento adivinhatório de imprecisão acha que tem a ver com
estatísticas de ordem. Essa lista tem a prerrogativa de não resolver
problemas de sala de aula para não tirar do aluno o privilégio do
conhecimento a se adquirir em resolvê-lo. Espero que não seja esse o caso.
A lista também pede para não encaminhar conteúdo em anexo. Como se trata de
uma sequência de desenvolvimento matemático, um opção seria fazer no
eqneditor (http://www.codecogs.com/latex/eqneditor.php) e colar o código
latex correspondente, como por exemplo esse código

\begin{align*}
f(x) &= \theta_y+\theta_2 (x-\theta_x)^2 \\
&= \theta_y+\theta_2 (x^2-2\theta_x x+\theta_x^2)\\
&=
\underbrace{(\theta_y+\theta_2\theta_x^2)}_{\beta_0}-\underbrace{2\theta_2\theta_x}_{-\beta_1}
x+\underbrace{\theta_2}_{\beta_2} x^2\\
&= \beta_0+\beta_1 x+\beta_2 x^2
\end{align*}

Aí a coisa funciona como CMR, onde o código é latex. É só recortar esse
código e colar no eqneditor. O mais experts em latex podem editar sem
precisar renderizar, inclusive.

À disposição.
Walmes.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141019/587e8e00/attachment-0001.html>

------------------------------

Message: 4
Date: Sun, 19 Oct 2014 17:52:04 -0400
From: Diogo Ferrari <[hidden email]>
To: [hidden email]
Subject: Re: [R-br] Integral
Message-ID: <[hidden email]>
Content-Type: text/plain; charset="iso-8859-1"

Caro Andre

Segue abaixo a resposta. Acho porem que existem alguns fóruns mais apropriados para perguntas desse tipo. Procure fóruns sobre matemática, ou calculo especificamente. Acho que essa lista e mais adequada para questões envolvendo programação estatística.

Use integração por partes (no exemplo q estou enviando, não inclui a constante na integral indefinida pq vc tem uma integral definida. Portanto, apenas inclua os limites de integração no exemplo).




Abracos


-- 
Diogo Ferrari
PhD Student
University of Michigan, Ann Arbor
Department of Political Science
E-mail: [hidden email] <mailto:[hidden email]>

Open Source! Use R! Use Linux!

"A vida é a arte de tirar conclusões suficientes de dados insuficientes"






> On Oct 19, 2014, at 3:23 PM, [hidden email] wrote:
> 
> Aonde estou errando nessa integral, o caminho não seria esse?
> 
> Att.
> André
> <Integral.jpg>_______________________________________________
> R-br mailing list
> [hidden email]
> 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/20141019/f9144d27/attachment.html>
-------------- Próxima Parte ----------
Um anexo não-texto foi limpo...
Nome: latexit-drag.pdf
Tipo: application/pdf
Tamanho: 59430 bytes
Descrição: não disponível
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141019/f9144d27/attachment.pdf>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141019/f9144d27/attachment-0001.html>

------------------------------

Subject: Legenda do Digest

_______________________________________________
R-br mailing list
[hidden email]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br


------------------------------

Fim da Digest R-br, volume 46, assunto 20
*****************************************


_______________________________________________ 
R-br mailing list 
[hidden email] 
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. 







If you reply to this email, your message will be added to the discussion below:

http://r-br.2285057.n4.nabble.com/R-br-skater-e-deldir-tp4663303p4663312.html 




To unsubscribe from R-br, click here.
NAML 








 

-- 
Hélio Gallo Rocha
IFSULDEMINAS - Câmpus Muzambinho





  
Este email está limpo de vírus e malwares porque a proteção do avast! Antivírus está ativa. 



_______________________________________________ 
R-br mailing list 
[hidden email] 
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. 




 
If you reply to this email, your message will be added to the discussion below:
http://r-br.2285057.n4.nabble.com/R-br-skater-e-deldir-tp4663303p4663338.html 


To unsubscribe from R-br, click here.
NAML 





-- 
Hélio Gallo Rocha
IFSULDEMINAS - Câmpus Muzambinho
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141023/f6b466a8/attachment.html>


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