Feed Artigos Comentários


Arquivos por CategoriaR-Project



CEP &Estatística &R-Project &Six Sigma André Dourado on 12 Dec 2012

“Six Sigma” utilizando o software estatístico “R” – Parte 11 (Carta de Controle “x-S”)

Carta de Controle “x-S”

Package / Library

qcc

Função

qcc

Uso

qcc(data = rowMeans(dados),
type = “xbar.one”,
confidence.level = 0.99999995,
title = “Carta de Controle x-S para Diâmetros de Pinos”,
xlab = “Diâmetros”,
ylab = “Médias”,
label.limits = c(paste(“LCL = “,lclx), paste(“UCL = “,uclx)),
add.stats = FALSE
)

qcc(data = dados,
type = “S”,
title = “”,
xlab = “Diâmetros”,
ylab = “Desvio Padrão”,
label.limits = c(paste(“LCL = “,lcls), paste(“UCL = “,ucls)),
add.stats = FALSE
)

Argumentos

data Vetor numérico com os dados a serem utilizados.
type “xbar.one” – Gráfico pela média
“R” – Gráfico pela amplitude
label.limits Vetor numérico de dois elementos especificando os textos a serem utilizados para os limites de controle.
title Cadeia de caracteres especificando o título do gráfico.
xlab Cadeia de caracteres com o título do eixo dos x.
ylab Cadeia de caracteres com o título do eixo dos y da esquerda.
add.stats Valor lógico que indica se as estatísticas e outras informações devem ser exibidas na parte de baixo do gráfico.
confidence.level Valor numérico entre 0 e 1 especificando o nível de confiança (Intervalo de Confiança) a ser utilizado. Foi utilizado o valor “0.941408″ para os resultados dos limites de controle se assemelharem aos determinados pelo Minitab.

Código Exemplo


library(qcc)

dados <- read.table("c:\\diametros_pinos.txt", sep = "\t", dec=".", header=T) # dados <- read.table("http://adsystemsblog.audits.com.br/sixsigma/diametros_pinos.txt", sep = "\t", dec=".", header=T) ################################################### ### Define parâmetros gerais ################################################### par(bg="#F1ECE2") # Cor do fundo par(family="Arial") # True type font ################################################### ### Pega dados gráfico X ################################################### grafico <- qcc(data = rowMeans(dados), type = "xbar.one", confidence.level = 0.99999995, add.stats = FALSE, plot = FALSE ) box("figure", col="#DDDDDD", lwd=15) uclx <- round(grafico$limits[2], digits = 2) lclx <- round(grafico$limits[1], digits = 2) clx <- round(grafico$center, digits = 2) ################################################### ### Pega dados gráfico S ################################################### grafico <- qcc(data = dados, type = "S", plot = FALSE ) ucls <- round(grafico$limits[2], digits = 2) lcls <- round(grafico$limits[1], digits = 2) cls <- round(grafico$center, digits = 2) ################################################### ### Define area para os dois graficos ################################################### par(mfrow=c(2,1)) ################################################### ### Plota grafico X ################################################### # bottom, left, top, right par(mar=c(5, 5, 3, 7)) # Margens do gráfico qcc(data = rowMeans(dados), type = "xbar.one", confidence.level = 0.99999995, title = "Carta de Controle x-S para Diâmetros de Pinos", xlab = "Diâmetros", ylab = "Médias", label.limits = c(paste("LCL = ",lclx), paste("UCL = ",uclx)), add.stats = FALSE ) mtext(paste("( x =",clx,")"),4, las=1, adj=-0.4, padj=0.45) mtext("_", 4, las=1, adj = -4.5, padj=-0.7) box("figure", col="#DDDDDD", lwd=15) ################################################### ### Plota gráfico S ################################################### # bottom, left, top, right par(mar=c(5, 5, 3, 7)) # Margens do gráfico qcc(data = dados, type = "S", title = "", xlab = "Diâmetros", ylab = "Desvio Padrão", label.limits = c(paste("LCL = ",lcls), paste("UCL = ",ucls)), add.stats = FALSE ) mtext(paste("( S =",cls,")"),4, las=1, adj=-0.4, padj=0.65) mtext("_", 4, las=1, adj = -4.1, padj=-0.7) box("figure", col="#DDDDDD", lwd=15)

Resultado

92 views

CEP &Estatística &R-Project &Six Sigma André Dourado on 12 Dec 2012

“Six Sigma” utilizando o software estatístico “R” – Parte 10 (Carta de Controle “x-R”)

Carta de Controle “x-R”

Package / Library

qcc

Função

qcc

Uso

qcc(data = consumo[1,1:m],
type = “xbar.one”,
title = “Carta de Controle x-R para Consumo Semanal”,
xlab = “Semanas”,
ylab = “Médias”,
label.limits = c(paste(“LCL = “,lclx), paste(“UCL = “,uclx)),
confidence.level = 0.941408,
add.stats = FALSE
)

qcc(data = dados[,2:6],
type = “R”,
title = “”,
xlab = “Semanas”,
ylab = “Amplitude”,
label.limits = c(paste(“LCL = “,lclr), paste(“UCL = “,uclr)),
add.stats = FALSE
)

Argumentos

data Vetor numérico com os dados a serem utilizados.
type “xbar.one” – Gráfico pela média
“R” – Gráfico pela amplitude
label.limits Vetor numérico de dois elementos especificando os textos a serem utilizados para os limites de controle.
title Cadeia de caracteres especificando o título do gráfico.
xlab Cadeia de caracteres com o título do eixo dos x.
ylab Cadeia de caracteres com o título do eixo dos y da esquerda.
add.stats Valor lógico que indica se as estatísticas e outras informações devem ser exibidas na parte de baixo do gráfico.
confidence.level Valor numérico entre 0 e 1 especificando o nível de confiança (Intervalo de Confiança) a ser utilizado. Foi utilizado o valor “0.941408″ para os resultados dos limites de controle se assemelharem aos determinados pelo Minitab.

Código Exemplo


library(qcc)

#dados <- read.table("c:\\consumo_semanal.txt", sep = "\t", dec=".", header=T) dados <- read.table("http://adsystemsblog.audits.com.br/sixsigma/consumo_semanal.txt", sep = "\t", dec=".", header=T) ################################################### ### Define parâmetros gerais ################################################### par(bg="#F1ECE2") # Cor do fundo par(family="Arial") # True type font ################################################### ### Pega dados gráfico X ################################################### grafico <- qcc(data = rowMeans(dados), type = "xbar.one", confidence.level = 0.941408, add.stats = FALSE, plot = FALSE ) box("figure", col="#DDDDDD", lwd=15) uclx <- round(grafico$limits[2], digits = 2) lclx <- round(grafico$limits[1], digits = 2) clx <- round(grafico$center, digits = 2) ################################################### ### Pega dados gráfico R ################################################### grafico <- qcc(data = dados, type = "R", plot = FALSE ) uclr <- round(grafico$limits[2], digits = 2) lclr <- round(grafico$limits[1], digits = 2) clr <- round(grafico$center, digits = 2) ################################################### ### Define area para os dois graficos ################################################### par(mfrow=c(2,1)) ################################################### ### Plota grafico X ################################################### # bottom, left, top, right par(mar=c(5, 5, 3, 7)) # Margens do gráfico qcc(data = rowMeans(dados), type = "xbar.one", title = "Carta de Controle x-R para Consumo Semanal", xlab = "Semanas", ylab = "Médias", label.limits = c(paste("LCL = ",lclx), paste("UCL = ",uclx)), confidence.level = 0.941408, add.stats = FALSE ) mtext(paste("( x =",clx,")"),4, las=1, adj=-0.4, padj=0.45) mtext("_", 4, las=1, adj = -4.5, padj=-0.7) box("figure", col="#DDDDDD", lwd=15) ################################################### ### Plota gráfico R ################################################### # bottom, left, top, right par(mar=c(5, 5, 3, 7)) # Margens do gráfico qcc(data = dados, type = "R", title = "", xlab = "Semanas", ylab = "Amplitude", label.limits = c(paste("LCL = ",lclr), paste("UCL = ",uclr)), add.stats = FALSE ) mtext(paste("( R =",clr,")"),4, las=1, adj=-0.4, padj=0.65) mtext("_", 4, las=1, adj = -4.5, padj=-0.7) box("figure", col="#DDDDDD", lwd=15)

Resultado

316 views

Estatística &R-Project &Six Sigma André Dourado on 04 Dec 2012

“Six Sigma” utilizando o software estatístico “R” – Parte 9 (Tutorial de instalação do “R-Project”)

Inicialmente pensei em não descrever o processo de instalação do “R”, pois o meu objetivo inicial foi de atingir usuários de “R”, mas como o assunto tratado até o momento foi o “Six Sigma”, decidi que seria melhor explicar como instalá-lo, para que mais pessoas pudessem começar a utilizar a ferramenta. Este post tem a finalidade de descrever o processo, passo a passo.

Requisitos

Windows: este tutorial foi feito utilizando um XP SP3 em uma máquina virtual. Provavelmente funcionará sem problemas em outras versões de Windows.

Binários do “R-Project” para Windows: podem ser obtidos no endereço: http://cran-r.c3sl.ufpr.br/bin/windows/base/R-2.15.2-win.exe/

Pacotes para o “R”: são os pacotes necessários para executar os comandos descritos nos posts: http://adsystemsblog.audits.com.br/sixsigma/rproject_sixsigma.zip

Download do “R-Project”

1.Acesse pelo browser o endereço: “http://cran-r.c3sl.ufpr.br”. Clique sobre o link “Download R for Windows”.

2.Clique sobre o link “base”.

3.Clique sobre o link “Download R.X.XX.X for Windows”.

4.Salve o arquivo em um local em que você lembre, pois terá que executá-lo, para continuar a instalação.

Instalação do “R-Project”

1.Execute o instalador do “R-Project”, que você já deve ter feito o download. No nosso caso, clique sobre o arquivo “R-2.15.2-win.exe” a partir do Windows Explorer. Selecione o idioma desejado. Clique então sobre o botão “Ok”.

2.Clique em “Avançar”.

3.Clique em “Avançar”.

4.Clique em “Avançar”.

5.Clique em “Avançar”.

6.Clique em “Avançar”.

7.Clique em “Avançar”.

8.Clique em “Avançar”.

9.Aguarde finalizar a instalação.

10.Clique em “Concluir”.

11.Descompacte o arquivo “rproject_sixsigma.zip” no diretório “library” no local de instalação do “R”. Em nosso caso no diretório: “C:\Arquivos de programas\R\R-2.15.2\library”.

Teste de uso dos códigos dos posts

1.Execute o “R” através do ícone na área de trabalho.

2.Selecione o código do post. Copie utilizando “CTRL+C” ou no menu de contexto, usando a opção “Copiar”.

3.Na janela “Console” cole o código copiado ao lado do prompt “> “. Ao finalizar a colagem, o script será executado e a imagem final será exibida.


76 views

Estatística &R-Project &Six Sigma André Dourado on 03 Dec 2012

“Six Sigma” utilizando o software estatístico “R” – Parte 8 (Diagrama Causa e Efeito – Ishikawa)

Diagrama Causa e Efeito – Ishikawa

Package / Library

qcc

Função

cause.and.effect

Uso

cause.and.effect.ad(title = “Diagrama Causa e Efeito\n(Ishikawa)”, cause=list(MeioAmbiente=c(“Poluição salina”, “Ruído excessivo”),
Material=c(“Bibliografia”, “Sobressalentes”),
Maquina=c(“Vazamento de óleo”, “Vibração”),
Medida=c(“Excesso de reuniões”, “Tempo de pesquisa”),
MaoDeObra=c(“Baixa motivação”, “Treinamento”),
Metodo=c(“Padrões inadequados”, “Tempo de execução”, “Procedimentos desatualizados”)),
effect=”Falha de\nEquipamento”, labels=c(“Meio Ambiente”, “Material”, “Máquina”, “Medida”, “Mão de Obra”, “Método”))

Argumentos

cause Vetor de caracteres, com a lista de causas e seus ramos.
effect Cadeia de caracteres com o título do efeito.
title Cadeia de caracteres especificando o título do gráfico.
cex Vetor numérico, com os valores de expansão do font dos labels. Respectivamente: Ramos, Causas e Efeito.
font Vetor numérico, com os fonts dos labels. Respectivamente: Ramos, Causas e Efeito.
labels Vetor de caracteres, com os labels para as causas.

Comentários

Aqui fiz algumas alterações na função “cause.and.effect” para:
- Possibilitar adicionar textos customizados para os grupos de causas.

Código Exemplo


library("qcc")

cause.and.effect.ad <- function (cause, effect, title = "Cause-and-Effect diagram", cex = c(1, 0.9, 1), font = c(2, 3, 2), labels) { mean2 <- function(x) { m <- rep(NA, length(x) - 1) for (i in 1:(length(x) - 1)) m[i] <- mean(x[c(i, i + 1)]) return(m) } nc <- length(cause) ncup <- nc - round(nc/2) nclo <- nc - ncup ncc <- max(sapply(cause, length)) oldpar <- par(mar = c(1, 1, 3, 1), no.readonly = TRUE) on.exit(par(oldpar)) plot(0:100, 0:100, type = "n", xlab = "", ylab = "", axes = FALSE, main = title) usr <- par("usr") we <- strwidth(effect, units = "user") * 1.1 wc <- max(unlist(sapply(cause, strwidth, units = "user"))) hc <- max(strheight(effect, units = "user"), unlist(sapply(cause, strheight, units = "user"))) arrows(0, 50, usr[2] - we - 1, 50, code = 2, length = 0.1, angle = 20) text(usr[2] - we, 50, effect, adj = c(0, 0.5), cex = cex[3], font = font[3]) a <- (usr[2] - we)/(max(ncup, nclo) + 1) ac <- a * (0:(max(ncup, nclo))) for (i in 1:(length(ac) - 1)) { segments(mean2(ac)[i], 95, ac[i + 1], 50) # Labels superiores if (missing(labels)) { saida <- names(cause)[i] } else { saida <- labels[i] } text(mean2(ac)[i], 96, saida, pos = 3, offset = 0.5, cex = cex[1], font = font[1]) if (i <= nclo) { # Labels inferiores if (missing(labels)) { saida <- names(cause)[[ncup + i]] } else { saida <- labels[ncup + i] } segments(mean2(ac)[i], 5, ac[i + 1], 50) text(mean2(ac)[i], 4, saida, pos = 1, offset = 0.5, cex = cex[1], font = font[1]) } } for (j in 1:ncup) { b <- (50 - 95)/(ac[j + 1] - mean2(ac)[j]) a <- 95 - b * mean2(ac)[j] y <- rev(50 + cumsum((95 - 50)/(ncc + 1)) * (1:(ncc))) x <- (y - a)/b for (i in 1:length(y)) { label <- cause[[j]][i] if (!is.na(label)) text(x[i], y[i], label, pos = 4, offset = 0.4, cex = cex[2], font = font[2]) } } for (j in 1:ncup) { b <- (50 - 5)/(ac[j + 1] - mean2(ac)[j]) a <- 5 - b * mean2(ac)[j] y <- cumsum((95 - 50)/(ncc + 1)) * (1:(ncc)) x <- (y - a)/b if (j <= nclo) for (i in 1:length(y)) { label <- cause[[ncup + j]][i] if (!is.na(label)) text(x[i], y[i], label, pos = 4, offset = 0.4, cex = cex[2], font = font[2]) } } invisible() } ################################################### ### Define parâmetros gerais ################################################### par(bg="white") # Cor do fundo par(family="Arial") # True type font ################################################### ### Plota gráfico ################################################### cause.and.effect.ad(title = "Diagrama Causa e Efeito\n(Ishikawa)", cause=list(MeioAmbiente=c("Poluição salina", "Ruído excessivo"), Material=c("Bibliografia", "Sobressalentes"), Maquina=c("Vazamento de óleo", "Vibração"), Medida=c("Excesso de reuniões", "Tempo de pesquisa"), MaoDeObra=c("Baixa motivação", "Treinamento"), Metodo=c("Padrões inadequados", "Tempo de execução", "Procedimentos desatualizados")), effect="Falha de\nEquipamento", labels=c("Meio Ambiente", "Material", "Máquina", "Medida", "Mão de Obra", "Método")) ################################################### ### Caixa cinza em torno do gráfico ################################################### box("figure", col="#DDDDDD", lwd=15)

Resultado

631 views

CEP &Estatística &R-Project &Six Sigma André Dourado on 30 Nov 2012

“Six Sigma” utilizando o software estatístico “R” – Parte 7 (Carta de Controle “x”)

Carta de Controle “x”

Package / Library

qcc

Função

qcc

Uso

qcc(data = dados$diametro, type = “xbar.one”, center = 10, limits=c(9.83,10.23), label.limits=c(“LIE”,”LSE”), title = “Carta de Controle\nDiâmetros parafusos 10mm”, xlab = “Amostras”, ylab = “Diâmetro”)

Argumentos

data Vetor numérico com os dados a serem utilizados.
type “xbar.one” – Gráfico pela média
center Valor especificando o valor alvo central do processo.
limits Vetor numérico de dois elementos especificando os limites de controle.
label.limits Vetor numérico de dois elementos especificando os textos a serem utilizados para os limites de controle.
title Cadeia de caracteres especificando o título do gráfico.
xlab Cadeia de caracteres com o título do eixo dos x.
ylab Cadeia de caracteres com o título do eixo dos y da esquerda.

Código Exemplo


library("qcc")

###################################################
### Le dados dos arquivos
###################################################
# dados <- read.table("c:\\diametros.txt", sep = "\t", dec=".", header=T) # Arquivo local dados <- read.table("http://adsystemsblog.audits.com.br/sixsigma/diametros.txt", sep = "", dec=".", header=T) ################################################### ### Define parâmetros gerais ################################################### par(mar=c(7, 5, 5, 3)) # Margens do gráfico par(bg="#F1ECE2") # Cor do fundo par(family="Arial") # True type font ################################################### ### Plota gráfico ################################################### qcc(data = dados$diametro, type = "xbar.one", center = 10, limits=c(9.83,10.23), label.limits=c("LIE","LSE"), title = "Carta de Controle\nDiâmetros parafusos 10mm", xlab = "Amostras", ylab = "Diâmetro" ) ################################################### ### Caixa cinza em torno do gráfico ################################################### box("figure", col="#DDDDDD", lwd=15)

Resultado

256 views

Estatística &R-Project &Six Sigma André Dourado on 27 Nov 2012

“Six Sigma” utilizando o software estatístico “R” – Parte 6 (Histograma)

Histograma

Código Exemplo


###################################################
### Le dados dos arquivos
###################################################
# dados <- read.table("c:\\expressoes.txt", sep = "\t", dec=".", header=T) # Arquivo local dados <- read.table("http://adsystemsblog.audits.com.br/sixsigma/expressoes.txt", sep = "\t", dec=".", header=T) ################################################### ### Dados ################################################### dados <- t(dados) dadosx <- as.numeric(dados[2,1:ncol(dados)]) ################################################### ### Define parâmetros gerais ################################################### par(mar=c(5, 5, 5, 3)) # Margens do gráfico par(bg="#F1ECE2") # Cor do fundo par(family="Arial") # True type font ################################################### ### Plota gráfico ################################################### hist(dadosx,br=20,xlab="Expressão",ylab="Frequência",freq=FALSE,main="Histograma da Expressão") ################################################### ### Muda a cor do fundo do gráfico para branco ### e volta a imprimir o gráfico e demais linhas ################################################### x<-par("usr") rect(x[1],x[3],x[2],x[4],col="white") hist(dadosx, br=20, freq=FALSE, add = TRUE, col="blue") lines(density(dadosx),col="red", lwd=3) box("figure", col="#DDDDDD", lwd=15)

Resultado


66 views

Estatística &R-Project &Six Sigma André Dourado on 26 Nov 2012

“Six Sigma” utilizando o software estatístico “R” – Parte 5 (Boxplot)

Boxplot

Código Exemplo


library(ggplot2)
library(grid)

###################################################
### Le dados dos arquivos
### Dados separados por virgula
###################################################
# dados <- read.table("c:\\pesquisa.csv", sep = ",", header=T) # Arquivo local dados <- read.table("http://adsystemsblog.audits.com.br/sixsigma/pesquisa.csv", sep = ",", header=T) dados$mulher <- factor(dados$mulher, labels = c("Homem", "Mulher")) dados$status_socio_economico <- factor(dados$status_socio_economico, labels = c("Baixa","Média", "Alta")) ################################################### ### Plota gráfico ################################################### # qplot(mulher, write, data = dados, geom="boxplot", ylab="Notas", xlab="Sexo", main="Box-Plot\nNotas x Sexo", fill="yellow") + theme( qplot(status_socio_economico, write, data = dados, geom="boxplot", ylab="Notas", xlab="Classe Social", main="Box-Plot\nNotas x Classe Social", fill="yellow") + theme( plot.background=element_rect(fill="#F1ECE2", colour = "#DDDDDD", size = 5, linetype = 1), panel.background=element_rect(fill="white"), plot.margin = unit(c(1,1,1,1), "cm"), axis.text.x = element_text(color="black"), axis.title.x = element_text(vjust=-1), axis.text.y = element_text(color="black"), axis.title.y = element_text(vjust=-0.1), plot.title = element_text(vjust=2.5) ) + scale_fill_identity() + coord_cartesian(ylim=c(0, 100)) + scale_y_continuous(breaks=seq(0,100,10)) + geom_hline(yintercept = 20, colour="blue", linetype="dashed", size=1) + # Limite inferior geom_hline(yintercept = 80, colour="blue", linetype="dashed", size=1) + # Limite superior geom_text(aes(x=0.5, y=c(23,83), label=c("LIE","LSE")),size=2.5) # textos dos limites inferior e superior

Resultado



50 views

Estatística &R-Project &Six Sigma André Dourado on 23 Nov 2012

“Six Sigma” utilizando o software estatístico “R” – Parte 4 (Pareto)

Pareto

Package / Library

qcc

Função

pareto.chart

Uso

pareto.chart(defeitos.ocorrencias, ylab=”Ocorrências”, ylab2=”Percentual Acumulado”, main=”Gráfico de Pareto\nOcorrência de Defeitos”)

Argumentos

x Vetor numérico. O vetor names(x) é usado para nomear as barras.
ylab Cadeia de caracteres com o título do eixo dos y da esquerda.
ylab2 Cadeia de caracteres com o título do eixo dos y da direita.
xlab Cadeia de caracteres com o título do eixo dos x.
cumperc Vetor numérico com os percentuais a serem exibido no eixo dos y da direita.
ylim Vetor numérico com os limites para o eixo dos y.
main Cadeia de caracteres especificando o título do gráfico.
col Um valor para a cor. um vetor com as cores ou uma palete de cores a serem usadas nas barras.
cex.names Reduz o tamanho do font dos nomes das categorias.

Comentários

Aqui fiz algumas alterações na função “pareto.chart” para:
- Mudar a cor de fundo do gráfico para branco;
- Diminuir o espaço entre as barras;
- Exibir os valores no topo das barras.

Código Exemplo


library("qcc")

pareto.chart.ad <- function (x, ylab = "Frequency", ylab2 = "Cumulative Percentage", xlab, cumperc = seq(0, 100, by = 25), ylim, main, col = heat.colors(length(x)), ...) { call <- match.call(expand.dots = TRUE) varname <- deparse(substitute(x)) x <- as.table(x) if (length(dim(x)) > 1)
stop("only one-dimensional object (table, vector, etc.) may be provided")
x <- sort(x, decreasing = TRUE, na.last = TRUE) cumsum.x <- cumsum(x) cumperc <- cumperc[cumperc >= 0 & cumperc <= 100] q <- quantile(seq(0, max(cumsum.x, na.rm = TRUE)), cumperc/100) if (missing(xlab)) xlab <- "" if (missing(ylim)) ylim <- c(0, max(cumsum.x, na.rm = TRUE) * 1.05) if (missing(main)) main <- paste("Pareto Chart for", varname) if (missing(col)) col <- heat.colors(length(x)) w <- max(sapply(names(x), nchar)) if (is.null(call$las)) las <- 3 else las <- call$las if (is.null(call$mar)) { if (las == 1) mar <- c(0, 1, 0, 2) else mar <- c(log(max(w), 2), 1, 0, 2) } else mar <- call$mar oldpar <- par(mar = par("mar") + mar, las = las, cex = qcc.options("cex"), no.readonly = TRUE) on.exit(par(oldpar)) ### Andre Dourado: Alterado o argumento space para 0 pc <- barplot(x, width = 1, space = 0, main = main, ylim = ylim, ylab = ylab, xlab = xlab, col = col, ...) ### Andre Dourado: Acrescenta o fundo branco ao grafico rect(par("usr")[1],par("usr")[3],par("usr")[2],par("usr")[4],col = "white") ### Andre Dourado: Acrescenta labels sobre as barras text(pc, x, labels = x, pos = 3, cex=0.7, col="black") abline(h = q, col = "lightgrey", lty = 3) rect(pc - 0.5, rep(0, length(x)), pc + 0.5, x, col = col) li <- lines(pc, cumsum.x, type = "b", cex = 0.7, pch = 19) ### Andre Dourado: Acrescenta labels sobre as linhas text(pc, cumsum.x, paste(as.integer(cumsum.x/max(cumsum.x, na.rm = TRUE) * 100), "%", sep = ""), cex=0.7, pos=1, col="black", offset=0.5) box() axis(4, at = q, las = 3, labels = paste(cumperc, "%", sep = "")) mtext(ylab2, 4, line = 2.5, las = 3) tab <- cbind(x, cumsum.x, x/max(cumsum.x, na.rm = TRUE) * 100, cumsum.x/max(cumsum.x, na.rm = TRUE) * 100) colnames(tab) <- c("Frequency", "Cum.Freq.", "Percentage", "Cum.Percent.") names(dimnames(tab)) <- c("", paste("\nPareto chart analysis for", varname)) } ################################################### ### Le dados dos arquivos ### Dados separados por tab. ### Copiados a partir do Excel. ################################################### # dados <- read.table("c:\\defeitos.txt", sep = "\t", dec=".", header=T) # Arquivo local dados <- read.table("http://adsystemsblog.audits.com.br/sixsigma/defeitos.txt", sep = "\t", dec=".", header=T) ################################################### ### Define parâmetros gerais ################################################### par(mar=c(7, 5, 5, 3)) # Margens do gráfico par(bg="#F1ECE2") # Cor do fundo par(family="Arial") # True type font ################################################### ### Trata dados ################################################### defeitos.ocorrencias <- dados$ocorrencia names(defeitos.ocorrencias) <- dados$defeito df.defects <- data.frame(defeitos.ocorrencias) ################################################### ### Plota gráfico ################################################### pareto.chart.ad(defeitos.ocorrencias, ylab="Ocorrências", ylab2="Percentual Acumulado", main="Gráfico de Pareto\nOcorrência de Defeitos", cex.names = 0.8) ################################################### ### Caixa cinza em torno do gráfico ################################################### box("figure", col="#DDDDDD", lwd=15)

Resultado

169 views

Estatística &R-Project &Six Sigma André Dourado on 23 Nov 2012

“Six Sigma” utilizando o software estatístico “R” – Parte 3 (Gráfico de Tendência)

Gráfico de Tendência

Código Exemplo


###################################################
### Le dados dos arquivos
###################################################
# dados <- read.table("c:\\temperaturas.txt", sep = "", dec=".", header=T) # Arquivo local dados <- read.table("http://adsystemsblog.audits.com.br/sixsigma/temperaturas.txt", sep = "", dec=".", header=T) ################################################### ### Suaviza a aparência do gráfico ################################################### eixo_x <- dados$ano + (dados$mes-1)/12 ################################################### ### Define parâmetros gerais ################################################### par(mar=c(5, 5, 5, 3)) # Margens do gráfico par(bg="#F1ECE2") # Cor do fundo par(family="Arial") # True type font ################################################### ### Plota gráfico ################################################### # plot(dados$ano, dados$temperatura, type="l", xlab="Anos", ylab="Temperaturas", bg=15, pch=23) # Aparencia nao suavizada plot(eixo_x, dados$temperatura, type="n", xlab="Anos", ylab="Temperaturas Médias", pch=23, col="blue", main="Gráfico de Tendência\nTemperaturas Médias x Anos") ################################################### ### Muda a cor do fundo do gráfico para branco ### e volta a imprimir o gráfico e demais linhas ################################################### x<-par("usr") rect(x[1],x[3],x[2],x[4],col="white") points(eixo_x, dados$temperatura, type="l", col="blue") box("figure", col="#DDDDDD", lwd=15) abline(h=0, col="grey") ################################################### ### Gráfico de tendência ################################################### # regressao <- lm(dados$temperatura ~ dados$ano) # Aparencia nao suavizada regressao <- lm(dados$temperatura ~ eixo_x) abline(regressao, col="red", lwd=4)

Resultado

78 views

Estatística &R-Project &Six Sigma André Dourado on 22 Nov 2012

“Six Sigma” utilizando o software estatístico “R” – Parte 2 (Mapa do Processo)

Mapa do Processo

Package / Library

SixSigma

Função

ss.pMap

Uso

ss.pMap(passos, entradas, saidas, io, param, feat, sub = “Projeto Execução do Furo”, main = “Mapa do Processo”, ss.col = c(“#666666″, “#BBBBBB”, “#CCCCCC”, “#DDDDDD”, “#EEEEEE”))

Argumentos

passos Vetor de caracteres com o nome dos “n” passos.
entradas Vetor de caracteres com o nome das entradas do processo.
saidas Vetor de caracteres com o nome das saídas do processo.
io Vetor de listas com os nomes das entradas de cada processo.
param Vetor de listas com os parâmetros “x” do processo. O parâmetro é um vetor com dois valores: o nome e o tipo ([C]Controlável, [Cr]Crítico, [N]Ruído, [P]Procedimento)
feat Vetor de listas com os parâmetros dos produtos “y” em processo. O parâmetro é um vetor com dois valores: o nome e o tipo ([C]Controlável, [Cr]Crítico, [N]Ruído, [P]Procedimento)
main Título do mapa do processo.
sub Sub-título do diagrama. Recomendado colocar o nome do projeto Six Sigma.
ss.col Um vetor de cores para uso no diagrama. Pelo menos cinco cores, em ordem decrescente de intensidade. O valor padrão é uma escala de cinza: c(“#666666″, “#BBBBBB”, “#CCCCCC”, “#DDDDDD”, “#EEEEEE”)

Código Exemplo


library("SixSigma")

###################################################
### Entradas, Saidas e Passos
###################################################
entradas <-c ("Peça sem Furo") saidas <- c("Peça com Furo") passos <- c("ALINHAMENTO", "FIXAÇÂO", "FURO") ################################################### ### Inputs ################################################### io <- list() io[[1]] <- list("Peça") io[[2]] <- list("Peça alinhada") io[[3]] <- list("Peça alinhada") ################################################### ### Parâmetros do Processo ################################################### param <- list() param[[1]] <- list(c("Limpeza da peça", "N"), c("Limpeza da base", "N"), c("Idade dos pinos de alinhamento", "C"), c("Limpeza dos pinos de alinhamento", "R")) param[[2]] <- list(c("Força do grampo", "C"), c("Localização do grampo", "C")) param[[3]] <- list(c("Velocidade","C"), c("Projeto da ferramenta", "C"), c("Idade da ferramenta", "C"), c("Dureza do material", "R")) ################################################### ### Parâmetros do produto em processo ################################################### feat <- list() feat[[1]] <- list("Posição da peça na furadeira") feat[[2]] <- list("Estabilidade da peça na base", "Planicidade da peça") feat[[3]] <- list("Diâmetro do furo", "Cocentricidade do furo") ################################################### ### Exibe o mapa ################################################### ss.pMap(passos, entradas, saidas, io, param, feat, sub = "Projeto Execução do Furo", main = "Mapa do Processo", ss.col = c("#666666", "#000000", "#FBD568", "#FBD568", "#EEEEEE"))

Resultado

128 views

Next Page »