load("C:/Users/Mariane/Dropbox/dados_R/Aula_POPEA/dados/EG.csv")
#Atribui a tabela ao objeto tab
tab<-read.table("C:/Users/Mariane/Dropbox/dados_R/Aula_POPEA/dados/EG.csv", header=T, sep=";")
# Exibe o boxplot gerado  a partir da tabela
boxplot(tab)
#Cria um  vetor de textos
label<-c("0.2", "0.4", "0.6", "0.8", "0.0", "1.2", "1.4","1.6", "1.8", "1.0")
# Exibe o boxplot dos dados de tab com rótulo gerado em label
boxplot(tab, names=label, main="Avaliação dos resultados", xlab="Fator", ylab="Kappa")
#Atribui a média de cada coluna de tab ao objeto m
m<-sapply(tab,"mean")
#Atribui o desvio padrão de cada coluna de tab ao objeto sd
sd<-sapply(tab,"sd")
#Cria um vetor numérico que vai de 1 ao comprimento de m
pos<-c(1:length(m))
# Constroi vetores que possuem os valores de média mais/menos o desvio padrão de cada coluna de tab
msd1<-m-sd
msd2<-m+sd
#Retorna os maiores e os menores valores de msd1 e msd2
ymin<-min(msd1)
ymax<-max(msd2)
#Exibe um gráfico de pontos em que x=posição (pos) e y=valores das médias da coluna tab
plot(pos,m, ylim=c(ymin, ymax), xaxt="n", main="Avaliação dos resultados", xlab="Fator", ylab="Kappa",pch=21, bg="gray")
#Desenha no gráfico setas representando os valores de desvio padrão.
arrows(pos,m,pos,msd1,length=0.025,angle=90, col="black")
arrows(pos,m,pos,msd2,length=0.025,angle=90, col="black")
#Desenha novos pontos por cima das setas
points(pos,m,pch=21, bg="gray")
#
axis(1, at = pos, labels = FALSE, tick = TRUE,tck=-0.01)
text(pos, ## x position
par("usr")[3], ## position of the low axis
labels=label, ##labels
xpd=TRUE, ## allows plotting outside the region
pos=1
)
#insere uma linha horizontal em 0.5
abline(h=0.5,col="gray60",lty=2)
#Código usado para realizar uma classificação supervisionada de imagem, com classificador Support Vector Machine.
#Carrega os pacotes
library(raster)
library(rgdal)
library(e1071)
#Código usado para realizar uma classificação supervisionada de imagem, com classificador Support Vector Machine.
#Carrega os pacotes
library(raster)
library(rgdal)
library(e1071)
#Determina diretório de dados
setwd("C:/Users/Mariane/Dropbox/dados_R/Aula_POPEA")
#Exibe lista de dados no diretório
dir()
#Determina diretório de dados
setwd("C:/Users/Mariane/Dropbox/dados_R/Aula_POPEA/dados")
#Exibe lista de dados no diretório
dir()
#Abre janela de plotagem (mais eficiente que a do RStudio)
x11()
plot(img)
#Determina diretório de dados
setwd("C:/Users/Mariane/Dropbox/dados_R/Aula_POPEA/dados")
#Exibe lista de dados no diretório
dir()
#Atribui ao objeto 'img' a imagem 'TM_2010.tif'
img<-stack("TM_2010.tif")
#Abre janela de plotagem do Windows Graphics Devices (mais eficiente que a do RStudio)
x11()
#Desenha a imagem
plot(img)
#Abre janela de plotagem do Windows Graphics Devices (mais eficiente que a do RStudio)
x11()
#Desenha a imagem
plot(img)
#Atribui ao objeto 'amostras' o shapefile 'amostras_2010.shp"
amostras<-readOGR ("amostras_2010.shp", "amostras_2010")
#Desenha as amostras
plot(amostras)
classesid<-amostras$Classe
classesid
#Código usado para realizar uma classificação supervisionada de imagem, com classificador Support Vector Machine.
#Carrega os pacotes
library(raster)
library(rgdal)
library(e1071)
#Determina diretório de dados
setwd("C:/Users/Mariane/Dropbox/dados_R/Aula_POPEA/dados")
#Exibe lista de dados no diretório
dir()
#Atribui ao objeto 'img' a imagem 'TM_2010.tif'
img<-stack("TM_2010.tif")
#Abre janela de plotagem do Windows Graphics Devices (mais eficiente que a do RStudio)
x11()
#Desenha a imagem
plot(img)
#Atribui ao objeto 'amostras' o shapefile 'amostras_2010.shp"
amostras<-readOGR ("amostras_2010.shp", "amostras_2010")
#Desenha as amostras
plot(amostras)
#Atribui ao objeto 'classesid' a coluna de classes do shape das amostras
classesid<-amostras$Classe
#Mostra o tamanho do vetor 'classesid' (número de polígonos nas amostras)
length(classesid)
#Extrai os valores dos pixels da imagem para cada polígono das amostras
val<-extract(img,amostras, df=TRUE)
val
#Apresenta as primeiras linhas do objeto 'val'
head(val)
for (l in 1:length(id)){
val[1,which(val$ID==l)]<-classesid[l]
}
colnames[val]
colnames(val)
for (l in 1:length(id)){
val[which(val[,1]==l),]<-classesid[l]
}
for (l in 1:length(classesid)){
val[1,which(val$ID==l)]<-classesid[l]
}
head(val)
classesid
coluna<-dim(val)[2]+1
coluna
#Extrai os valores dos pixels da imagem para cada polígono das amostras
val<-extract(img,amostras, df=TRUE)
#Código usado para realizar uma classificação supervisionada de imagem, com classificador Support Vector Machine.
#Carrega os pacotes
library(raster)
library(rgdal)
library(e1071)
#Determina diretório de dados
setwd("C:/Users/Mariane/Dropbox/dados_R/Aula_POPEA/dados")
#Exibe lista de dados no diretório
dir()
#Atribui ao objeto 'img' a imagem 'TM_2010.tif'
img<-stack("TM_2010.tif")
#Abre janela de plotagem do Windows Graphics Devices (mais eficiente que a do RStudio)
x11()
#Desenha a imagem
plot(img)
#Atribui ao objeto 'amostras' o shapefile 'amostras_2010.shp"
amostras<-readOGR ("amostras_2010.shp", "amostras_2010")
#Desenha as amostras
plot(amostras)
#Atribui ao objeto 'classesid' a coluna de classes do shape das amostras
classesid<-amostras$Classe
#Mostra o tamanho do vetor 'classesid' (número de polígonos nas amostras)
length(classesid)
#Retorna para o objeto 'classes' quais classes aparecem no vetor de classes pelo menos uma vez.
classes<-unique(classesid)
#Extrai os valores dos pixels da imagem para cada polígono das amostras
val<-extract(img,amostras, df=TRUE)
#Exibe o tipo do objeto 'val'
typeof(val)
#Apresenta as primeiras linhas do objeto 'val'
head(val)
#Atribui ap objeto 'coluna' o número de colunas contidos em 'val'+1 (número de coluna extra onde incluiremos o atributo de classe ao objeto 'val')
coluna<-dim(val)[2]+1
coluna
for (l in 1:length(classesid)){
#Atribui na coluna extra, em todas as linhas em que o 'ID' é o mesmo que o polígono, a classe rotulada do polígono.
val[coluna,which(val$ID==l)]<-classesid[l]
}
length(classesid)
head(val)
#Código usado para realizar uma classificação supervisionada de imagem, com classificador Support Vector Machine.
#Carrega os pacotes
library(raster)
library(rgdal)
library(e1071)
#Determina diretório de dados
setwd("C:/Users/Mariane/Dropbox/dados_R/Aula_POPEA/dados")
#Exibe lista de dados no diretório
dir()
#Atribui ao objeto 'img' a imagem 'TM_2010.tif'
img<-stack("TM_2010.tif")
#Abre janela de plotagem do Windows Graphics Devices (mais eficiente que a do RStudio)
x11()
#Desenha a imagem
plot(img)
#Atribui ao objeto 'amostras' o shapefile 'amostras_2010.shp"
amostras<-readOGR ("amostras_2010.shp", "amostras_2010")
#Desenha as amostras
plot(amostras)
#Atribui ao objeto 'classesid' a coluna de classes do shape das amostras
classesid<-amostras$Classe
#Mostra o tamanho do vetor 'classesid' (número de polígonos nas amostras)
length(classesid)
#Retorna para o objeto 'classes' quais classes aparecem no vetor de classes pelo menos uma vez.
classes<-unique(classesid)
#Extrai os valores dos pixels da imagem para cada polígono das amostras
val<-extract(img,amostras, df=TRUE)
#Exibe o tipo do objeto 'val'
typeof(val)
#Apresenta as primeiras linhas do objeto 'val'
head(val)
#Atribui ap objeto 'coluna' o número de colunas contidos em 'val'+1 (número de coluna extra onde incluiremos o atributo de classe ao objeto 'val')
coluna<-dim(val)[2]+1
val2<-val
#Atribui na coluna extra, em todas as linhas em que o 'ID' é o mesmo que o polígono, a classe rotulada do polígono.
val[coluna,which(val[,1]==l)]<-classesid[l]
for (l in 1:length(classesid)){
#Atribui na coluna extra, em todas as linhas em que o 'ID' é o mesmo que o polígono, a classe rotulada do polígono.
val[coluna,which(val[,1]==l)]<-classesid[l]
}
head(val)
unique(val$ID)
val<-val2
unique(val$ID)
classesid
#Substitui os valores de 'ID' pelas classes
indices<-setNames(unique(val$ID),classesid)
foo <- data.frame(snp1 = c("AA", "AG", "AA", "AA"), snp2 = c("AA", "AT", "AG", "AA"), snp3 = c(NA, "GG", "GG", "GC"), stringsAsFactors=FALSE)
foo
map = setNames(c("0101", "0102", "0103"), c("AA", "AC", "AG"))
map
foo[] <- map[unlist(foo)]
foo
map
val0<-val2
val2<-indices[unlist(val)]
head(val2)
#Substitui os valores de 'ID' pelas classes
val<-mapvalues(val,from=unique(val$ID), to=classesid)
#Substitui os valores de 'ID' pelas classes
val<-mapvalues(val,from=unique(val$ID), to=classesid)
install.packages("plyr")
for (l in 1:length(classesid)){
#Substitui os valores de 'ID' pelas classes
val<-replace (val[,1],val[,1]==l,classe[l])
}
for (l in 1:length(classesid)){
#Substitui os valores de 'ID' pelas classes
val<-replace (val[,1],val[,1]==l,classesid[l])
}
l
val<-val0
head(val)
l=1
#Substitui os valores de 'ID' pelas classes
val<-replace (val[,1],val[,1]==l,classesid[l])
head(val)
val<-val0
for (l in 1:length(classesid)){
#Substitui os valores de 'ID' pelas classes
val[,coluna]<-replace (val[,1],val[,1]==l,classesid[l])
}
head(val)
val<-val0
for (l in 1:length(classesid)){
#Substitui os valores de 'ID' pelas classes
replace (val[,1],val[,1]==l,classesid[l])
}
head(val)
val<-val0
for (l in 1:length(classesid)){
#Substitui os valores de 'ID' pelas classes
val[which(val[,1]==l),coluna]<-classesid[l]
}
head(val)
#Treina o classificador svm com as colunas 2 a 7 do objeto val (valores de pixel) nas classes da coluna 8 (coluna extra)
model<-svm(tab[,c(2:7)],tab[,8],method ="C-classification", kernel = "linear",cost = 1)
#Treina o classificador svm com as colunas 2 a 7 do objeto val (valores de pixel) nas classes da coluna 8 (coluna extra)
model<-svm(val[,c(2:7)],val[,8],method ="C-classification", kernel = "linear",cost = 1)
#Transforma a imagem em data frame (dados a serem classificados)
data<-as.data.frame(img)
#Aplica o modelo de classificação aos dados
classificacao<-predict(model,data)
#Atribui ao objeto 'imagemclass' a banda 1 da imagem (gera imagem de 1 banda de mesmo tamanho e projeção da imagem de entrada, desenharemos a classificação aqui em cima)
imagemclass<-subset(img,1)
#Para cada classe...
for (w in 1:length(classes)){
#... Troca o valor de pixel pertencente a cada classe pelo índice correspondente à classe (respeita a mesma ordem descrita no vetor 'classes')
imagemclass[which(classificacao==classes[w])]<-w
}
#Escreve o arquivo da classificação
writeRaster(imagemclass, file="classificacao.tif",overwrite=TRUE)
classes
table(as.data.frame(imagemclass))
load("C:/Users/Mariane/Desktop/Artigos completos/JAG/Artigo_dissertacao1_RS/dados/amostras/L1/treino_2008_15m.tif")
load("F:/__CMAP2/0_amostras/treino_2008-4classes.tif")
library(raster)
img<-raster("C:/Users/Mariane/Desktop/Artigos completos/JAG/Artigo_dissertacao1_RS/dados/amostras/L1/treino_2008_15m.tif")
img2<-img
troca<-c(2,2,5,5,3,3,1,4,4,4)
troca
length(troca)
library(raster)
img<-raster("C:/Users/Mariane/Desktop/Artigos completos/JAG/Artigo_dissertacao1_RS/dados/amostras/L1/treino_2008_15m.tif")
img2<-img
troca<-c(2,2,5,5,3,3,1,4,4,4)
for (i in 1:length(troca))
img[which(img2[,]==i)]<-troca[i]
writeRaster(img, file="F:/__CMAP2/0_amostras/treino_2008-5classes.tif",datatype="INT1U",overwrite=TRUE)
load("C:/Users/Mariane/Desktop/Artigos completos/JAG/Artigo_dissertacao1_RS/versoesAntigas/dados/amostras/L1/treino_2008_15m.tif")
library(raster)
img<-raster("C:/Users/Mariane/Desktop/Artigos completos/JAG/Artigo_dissertacao1_RS/versoesAntigas/dados/amostras/L1/treino_2008_15m.tif")
img2<-img
troca<-c(2,2,5,5,3,3,1,4,4,4)
for (i in 1:length(troca))
img[which(img2[,]==i)]<-troca[i]
writeRaster(img, file="F:/__CMAP2/0_amostras/treino_2008-5classes.tif",datatype="INT1U",overwrite=TRUE)
load("C:/Users/Mariane/Desktop/Artigos completos/JAG/Artigo_dissertacao1_RS/versoesAntigas/dados/amostras/teste/15_m/referenced/L1_2008.tif.tif")
img<-raster("C:/Users/Mariane/Desktop/Artigos completos/JAG/Artigo_dissertacao1_RS/versoesAntigas/dados/amostras/teste/15_m/referenced/L1_2008.tif.tif")
img<-raster("C:/Users/Mariane/Desktop/Artigos completos/JAG/Artigo_dissertacao1_RS/versoesAntigas/dados/amostras/teste/15_m/referenced/L1_2008.tif.tif")
table(as.data.frame(img))
library(raster)
img<-raster("C:/Users/Mariane/Desktop/Artigos completos/JAG/Artigo_dissertacao1_RS/versoesAntigas/dados/amostras/teste/15_m/referenced/L1_2008.tif.tif")
img2<-img
troca<-c(2,2,5,5,3,3,1,4,4,4)
for (i in 1:length(troca))
img[which(img2[,]==i)]<-troca[i]
writeRaster(img, file="F:/__CMAP2/0_amostras/teste_2008-5classes.tif",datatype="INT1U",overwrite=TRUE)
#Atribui a tabela ao objeto tab
tab<-read.table("C:/Users/Mariane/Dropbox/dados_R/Aula_POPEA/dados/EG.csv", header=T, sep=";")
# Exibe o boxplot gerado  a partir da tabela
boxplot(tab)
#Atribui a tabela ao objeto tab
tab<-read.table("C:/Users/Mariane/Dropbox/dados_R/Aula_POPEA/dados/EG.csv", header=T, sep=";")
# Exibe o boxplot gerado  a partir da tabela
boxplot(tab)
#Cria um  vetor de textos
label<-c("0.2", "0.4", "0.6", "0.8", "0.0", "1.2", "1.4","1.6", "1.8", "1.0")
# Exibe o boxplot dos dados de tab com rótulo gerado em label
boxplot(tab, names=label, main="Avaliação dos resultados", xlab="Fator", ylab="Kappa")
#Atribui a tabela ao objeto tab
tab<-read.table("C:/Users/Mariane/Dropbox/dados_R/Aula_POPEA/dados/EG.csv", header=T, sep=";")
# Exibe o boxplot gerado  a partir da tabela
boxplot(tab)
#Cria um  vetor de textos
label<-c("0.2", "0.4", "0.6", "0.8", "0.0", "1.2", "1.4","1.6", "1.8", "1.0")
# Exibe o boxplot dos dados de tab com rótulo gerado em label
boxplot(tab, names=label, main="Avaliação dos resultados", xlab="Fator", ylab="Kappa")
#Atribui a média de cada coluna de tab ao objeto m
m<-sapply(tab,"mean")
#Atribui o desvio padrão de cada coluna de tab ao objeto sd
sd<-sapply(tab,"sd")
#Cria um vetor numérico que vai de 1 ao comprimento de m
pos<-c(1:length(m))
# Constroi vetores que possuem os valores de média mais/menos o desvio padrão de cada coluna de tab
msd1<-m-sd
msd2<-m+sd
#Retorna os maiores e os menores valores de msd1 e msd2
ymin<-min(msd1)
ymax<-max(msd2)
#Exibe um gráfico de pontos em que x=posição (pos) e y=valores das médias da coluna tab
plot(pos,m, ylim=c(ymin, ymax), xaxt="n", main="Avaliação dos resultados", xlab="Fator", ylab="Kappa",pch=21, bg="gray")
#Desenha no gráfico setas representando os valores de desvio padrão.
arrows(pos,m,pos,msd1,length=0.025,angle=90, col="black")
arrows(pos,m,pos,msd2,length=0.025,angle=90, col="black")
#Desenha novos pontos por cima das setas
points(pos,m,pch=21, bg="gray")
#Desenha os eixos no gráfico
axis(1, at = pos, labels = FALSE, tick = TRUE,tck=-0.01)
#Escreve os rótulos no gráfico.
text(pos, ## x position
par("usr")[3], ## position of the low axis
labels=label, ##labels
xpd=TRUE, ## allows plotting outside the region
pos=1
)
#insere uma linha horizontal em 0.5
abline(h=0.5,col="gray60",lty=2)
