[R-br] recorte
Tito Conte
tito.conte em gmail.com
Sexta Janeiro 18 13:26:35 BRST 2013
Caso você quira fazer um recorte no mapa, faça uma máscara
Criar uma matriz de zero e um (onde zero é o que você quer omitir e 1 os
seus dados), através de uma equação da forma geométrica que você deseja
multiplique essa máscara pelos seus dados, e plote novamente
segue um exemplo abaixo de função que remove as bordas de um circulo
mask <- function (dados){
# tamanho da coluna
Y=c(1:dim(dados)[1])
# calcular o raio
r=floor(length(Y)/2)
# centro do círculo
cp = round(length(Y)/2,0)
# matriz com zeros
TT=matrix(0,nrow=dim(dados)[1],ncol=dim(dados)[2])
# fazer uma máscara de um e zero
for(X in c(1:dim(dados)[2])){
# calcula o raio de todos os Y e X com dados
R=sqrt((X-cp)^2+(Y-cp)^2)
#o maior valor do raio do circulo
zeros=which(R>=r)
# remove os pontos de fora do circulo
TT[X,-zeros]=1
}
return(TT)
}
aplicando aos meus dados fica
dados.recortados<-dados*mask(dados)
espero ter ajudado
Tito Conte
2013/1/18 Tito Conte <tito.conte em gmail.com>
> você pode colocar NA nos pontos que estão interligados
>
> suponha o seguinte: duas áreas limitadas por quadrados
>
> a=c(1,1,3,3,1,4,4,5,5,4)
> b=c(2,4,4,2,2,6,7,7,6,6)
> f=matrix(c(a,b),ncol=2)
> plot(f,type='l')
>
> # caso vc queira remover a linha basta adicionar um NA
>
> a=c(a[1:5],NA,a[6:10])
> b=c(b[1:5],NA,b[6:10])
> f=data.frame(a,b)
> plot(f,type='l')
>
> Seria isso?
>
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130118/c31ff820/attachment.html>
Mais detalhes sobre a lista de discussão R-br