Faça um dput(dados), copie e cole para que eu possa obter seus dados aqui
Tentei rodar, mas o meu resultado dá muito diferente, qual o motivo?> dados <- read.table("dados_boot.txt", h=T)> dadosX4 X5 X15 X6 X11 X12 X13 X16 X17 X18 X19 X20 X25 X26 X27 X291 3 4 3 2 3 4 4 2 3 3 3 5 3 4 3 32 2 5 5 5 3 5 5 4 5 4 5 4 4 3 5 33 4 5 4 3 5 5 5 4 5 6 6 5 4 4 5 44 2 6 4 4 2 6 6 4 4 3 6 6 3 4 4 25 4 3 1 3 1 4 5 3 3 1 3 1 2 1 2 16 5 5 6 5 5 6 6 6 5 5 6 4 5 5 5 47 1 7 4 5 7 6 7 5 4 5 5 3 4 4 7 68 5 7 6 5 4 6 6 3 7 5 4 3 5 7 5 69 5 6 4 3 5 5 5 4 4 4 3 2 2 5 2 510 3 6 2 5 5 6 6 6 4 4 5 5 2 2 6 311 2 2 3 2 2 4 4 4 3 4 5 4 5 3 4 312 2 3 2 2 3 2 5 3 2 4 5 2 4 5 3 213 7 7 4 3 3 6 7 6 6 6 6 6 4 4 6 514 5 7 6 6 7 6 6 7 7 6 5 5 3 4 6 615 3 6 5 6 5 6 6 5 6 6 5 5 4 4 6 616 1 2 1 4 1 5 2 2 3 6 5 4 1 2 1 117 4 5 2 4 3 4 3 5 5 4 3 3 2 4 3 418 5 6 5 5 3 5 5 6 7 6 6 5 4 3 6 619 4 3 5 3 1 5 4 2 3 4 4 5 1 4 2 520 3 3 3 4 4 3 4 2 2 3 3 3 2 3 1 2> mean(dados[,1])[1] 3.5> library(sem)> library(boot)>> #Bootstrap (médias das replicações)>>> obs <- function(x){++ results <- c()+ for(i in 1:500){++ results[i] <- mean(sample(dados,replace=T))++ saida <- paste(results,i,sep="")++ }++ return(saida)+ }>> resultado<-apply(dados,2,obs)There were 50 or more warnings (use warnings() to see the first 50)>> resultado[,1][1] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[10] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[19] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[28] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[37] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[46] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[55] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[64] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[73] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[82] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[91] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[100] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[109] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[118] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[127] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[136] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[145] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[154] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[163] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[172] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[181] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[190] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[199] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[208] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[217] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[226] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[235] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[244] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[253] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[262] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[271] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[280] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[289] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[298] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[307] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[316] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[325] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[334] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[343] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[352] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[361] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[370] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[379] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[388] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[397] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[406] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[415] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[424] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[433] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[442] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[451] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[460] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[469] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[478] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[487] "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500" "NA500"[496] "NA500" "NA500" "NA500" "NA500" "NA500">
Como eu falei,Basta retirar a variável "saída" da função "obs" que a saída será do tipo numeric e aí funcionará seu comandosegue função obs , corrigidaobs <- function(x){
results <- c()
for(i in 1:500){
results[i] <- mean( sample(x,replace=TRUE))
}
return(results)
}
resultado <- apply(dados,2,obs)
str(resultado)
=========================================
Fernando Souza
Zootecnista, DSc. Produção e Alimentação Animal
Celular: (31)99796-8781 (Vivo)
E-mail:nandodesouza@gmail.com
Lattes: http://lattes.cnpq.br/6519538815038307
Blog: https://producaoanimalcomr.wordpress.com/
==========================================Sent from Nylas Mail, the best free email app for work
On Mai 18 2017, at 9:44 am, Fernando Antonio de souza <nandodesouza@gmail.com> wrote:
ClodoaldoEstou sem acesso a meu computador aqui é por as não posso testar. Tente rodar a função obs se a variável saida. Acredito que ela está transformando a saída em carácter e por isso a saída.Assim q acessar meu PC testo e lhe confirmo.obs <- function(x){results[i] <- mean(sample(dados,replace=T))
results <- c()
for(i in 1:500){
}
return(results)
}
Em 18/05/2017 9:24 AM, "Clodoaldo José Figueredo" <clodoaldo.figueredo@ifc-araquari.edu.br> escreveu:
Como tira as aspas, ou não tem nada a ver?As saídas serão usadas como vetores (individualmente) em um outro procedimento para uso do pacote "sem" (Modelagem de equações estruturais).Porque não consigo calcular a média dos valores?A saída que inseri é a coluna resultado [,1]Abaixo está o código completo e a matriz dados que é base para os cálculos.Caro Fernando (e demais colegas)Gostaria de agradecer sua grande ajuda, mas preciso tirar mais outras dúvidas.Porque aparecem valores 4500 e 3500 no meio dos calculados? (Não tem lógica)
setwd("C:/Dados")
dados <- read.table("Dados_Boot_txt.txt", h=T)
dados
> dados X4 X5 X15 X6 X11 X12 X13 X16 X17 X18 X19 X20 X25 X26 X27 X29 1 3 4 3 2 3 4 4 2 3 3 3 5 3 4 3 3 2 2 5 5 5 3 5 5 4 5 4 5 4 4 3 5 3 3 4 5 4 3 5 5 5 4 5 6 6 5 4 4 5 4 4 2 6 4 4 2 6 6 4 4 3 6 6 3 4 4 2 5 4 3 1 3 1 4 5 3 3 1 3 1 2 1 2 1 6 5 5 6 5 5 6 6 6 5 5 6 4 5 5 5 4 7 1 7 4 5 7 6 7 5 4 5 5 3 4 4 7 6 8 5 7 6 5 4 6 6 3 7 5 4 3 5 7 5 6 9 5 6 4 3 5 5 5 4 4 4 3 2 2 5 2 5 10 3 6 2 5 5 6 6 6 4 4 5 5 2 2 6 3 11 2 2 3 2 2 4 4 4 3 4 5 4 5 3 4 3 12 2 3 2 2 3 2 5 3 2 4 5 2 4 5 3 2 13 7 7 4 3 3 6 7 6 6 6 6 6 4 4 6 5 14 5 7 6 6 7 6 6 7 7 6 5 5 3 4 6 6 15 3 6 5 6 5 6 6 5 6 6 5 5 4 4 6 6 16 1 2 1 4 1 5 2 2 3 6 5 4 1 2 1 1 17 4 5 2 4 3 4 3 5 5 4 3 3 2 4 3 4 18 5 6 5 5 3 5 5 6 7 6 6 5 4 3 6 6 19 4 3 5 3 1 5 4 2 3 4 4 5 1 4 2 5 20 3 3 3 4 4 3 4 2 2 3 3 3 2 3 1 2
mean(dados[,1])
> mean(dados[,1]) [1] 3.5
library(sem)
library(boot)
#Bootstrap (médias das replicações)results[i] <- mean(sample(dados,replace=T))
obs <- function(x){
results <- c()
for(i in 1:500){
resultado[,1]
saida <- paste(results,i,sep="")
}
return(saida)
}
resultado<-apply(dados,2,obs)
> resultado[,1] [1] "3.75500" "4.1500" "4.05500" "3.5500" "3.8500" "4.1500" "3.45500" "4.75500" [9] "4.25500" "3.45500" "3.6500" "3.85500" "3.9500" "4.05500" "3.6500" "3.75500" [17] "4.2500" "4.4500" "3.65500" "4.2500" "4500" "4.15500" "5.05500" "3.75500" [25] "3.8500" "4.45500" "4.25500" "3.65500" "3.65500" "4.05500" "4.05500" "3.3500" [33] "3.4500" "4.15500" "3.15500" "3.8500" "3.7500" "4.3500" "4500" "3.15500" [41] "4.55500" "3.95500" "4.1500" "4.05500" "4.2500" "3.6500" "3.95500" "4.35500" [49] "3.65500" "4.75500" "3.7500" "3.65500" "3.6500" "4.85500" "3.8500" "3.05500" [57] "3.85500" "3.8500" "3.8500" "3.35500" "3.7500" "4.25500" "4.25500" "3.8500" [65] "3.95500" "3.25500" "3.9500" "3.75500" "3.7500" "4.45500" "3.65500" "3.4500" [73] "4500" "4500" "3.55500" "3.9500" "3.75500" "4.3500" "3.3500" "4.25500" [81] "4.1500" "4.2500" "4.2500" "4.2500" "3.95500" "4.15500" "4.35500" "4.1500" [89] "4.1500" "4.05500" "3.9500" "3.65500" "3.4500" "3.65500" "4.15500" "3.35500" [97] "3.55500" "3.75500" "3.8500" "3.8500" "4.25500" "4.15500" "4500" "3.95500" [105] "3.95500" "3.65500" "4.4500" "3.6500" "3.75500" "3.55500" "3.9500" "4.3500" [113] "3.9500" "3.55500" "3.35500" "4.1500" "3.65500" "3.75500" "3.6500" "3.05500" [121] "4500" "3.9500" "4.05500" "3.65500" "4.15500" "4.25500" "4500" "4.05500" [129] "4.7500" "3.1500" "3.2500" "3.85500" "3.5500" "3.5500" "4.4500" "3.45500" [137] "3.7500" "3.65500" "4.1500" "4.05500" "3.35500" "4.1500" "3.9500" "3.1500" [145] "4.2500" "4.15500" "4.45500" "3.95500" "3.25500" "3.9500" "3.9500" "3.75500" [153] "3.65500" "3.6500" "3.5500" "3.65500" "3.9500" "4.05500" "4.05500" "3.85500" [161] "4.05500" "3.45500" "3.05500" "3.45500" "4.3500" "4.6500" "3.8500" "4.35500" [169] "4.05500" "4.1500" "4.15500" "4.8500" "3.6500" "3.05500" "4500" "3.95500" [177] "3.6500" "4.4500" "4.25500" "4.35500" "3.6500" "4.2500" "3.9500" "4.55500" [185] "3.9500" "4.3500" "4.15500" "3.35500" "3.6500" "3.9500" "3.85500" "3.45500" [193] "3.65500" "3.45500" "3.7500" "3.45500" "4.3500" "3.7500" "3.4500" "3.55500" [201] "3.75500" "3.85500" "3.8500" "4.65500" "3.8500" "3.6500" "3.7500" "3.45500" [209] "3.65500" "4.2500" "3.5500" "3.75500" "4.4500" "3.8500" "3.45500" "3.5500" [217] "4.5500" "4.1500" "3.85500" "3.6500" "3.15500" "4.55500" "3.5500" "3.65500" [225] "3.8500" "4500" "4.15500" "3.65500" "3.35500" "3.5500" "3.45500" "3.65500" [233] "3.5500" "4.1500" "3.5500" "4.15500" "4.15500" "4.15500" "4.2500" "4.05500" [241] "4.15500" "3.8500" "3.85500" "4.05500" "4.1500" "3.75500" "3.75500" "3.9500" [249] "3.25500" "4.15500" "3.85500" "4.25500" "4500" "3.9500" "4.15500" "4500" [257] "3.9500" "3.95500" "4500" "4.1500" "3.8500" "4.5500" "4.4500" "3.9500" [265] "3.95500" "4.4500" "3.65500" "3.5500" "4500" "3.8500" "3.4500" "4.2500" [273] "3.05500" "3.6500" "3.6500" "4.2500" "3.4500" "3.55500" "4.25500" "3.95500" [281] "3.4500" "3.9500" "4500" "4.05500" "3.75500" "3.85500" "3.95500" "4.3500" [289] "3.1500" "4.35500" "3.75500" "3.25500" "3.95500" "3.65500" "3.75500" "4.45500" [297] "4.2500" "4.2500" "3.8500" "4500" "3.3500" "4.3500" "3.6500" "4.25500" [305] "3.45500" "3.65500" "5.05500" "4.1500" "3.85500" "4.1500" "3.8500" "3.65500" [313] "3.55500" "4.05500" "3.45500" "3.8500" "4.15500" "3.3500" "3.85500" "4.45500" [321] "4.05500" "3.8500" "3.6500" "4.65500" "3.95500" "3.55500" "3.7500" "3.95500" [329] "3.8500" "3.7500" "3.55500" "3.95500" "3.55500" "3.15500" "4500" "3.35500" [337] "4500" "4.2500" "3.85500" "3.6500" "3.8500" "3500" "4.2500" "3.55500" [345] "3.8500" "4.25500" "3.5500" "3.85500" "3.8500" "3.25500" "3.65500" "4.4500" [353] "4500" "3.6500" "4.4500" "3.3500" "4.45500" "4.25500" "4.05500" "3.45500" [361] "4.3500" "3.85500" "4.15500" "3.65500" "3.55500" "4.3500" "3.9500" "4.4500" [369] "4.15500" "4.15500" "3.85500" "4.25500" "3.7500" "3.8500" "4.2500" "3.35500" [377] "3.2500" "3.8500" "4.2500" "3.95500" "3.85500" "3.25500" "4.35500" "3.1500" [385] "3.7500" "3.35500" "4.1500" "4.15500" "3.85500" "4.55500" "3.65500" "3.75500" [393] "3.8500" "3.25500" "3.2500" "3.5500" "3.75500" "3.45500" "4.65500" "4.15500" [401] "3.25500" "4.1500" "4.3500" "4.2500" "3.4500" "3.9500" "4.6500" "4.05500" [409] "4.35500" "3.55500" "3.8500" "3.8500" "3.55500" "3.8500" "3.7500" "4.05500" [417] "3.65500" "3.55500" "3.5500" "4.15500" "3.75500" "3.6500" "3.85500" "3.3500" [425] "3.85500" "2.95500" "3.85500" "4.45500" "3.85500" "3.45500" "3.65500" "4.1500" [433] "3.6500" "3.9500" "3.8500" "3.15500" "3.65500" "3.4500" "3.5500" "4.25500" [441] "4.2500" "4500" "3.6500" "3.6500" "3.25500" "4.25500" "3.95500" "3.1500" [449] "4.2500" "3.15500" "3.65500" "4500" "3.4500" "4.55500" "4.1500" "4.5500" [457] "3.75500" "3.85500" "4500" "3.85500" "4.55500" "3.6500" "4.1500" "4.3500" [465] "4.05500" "3.7500" "3.95500" "3.55500" "3.1500" "3.95500" "3.85500" "3.3500" [473] "3.95500" "4.25500" "3.95500" "4.1500" "4.05500" "4.25500" "3.75500" "4.3500" [481] "4.3500" "4.3500" "4.7500" "4.45500" "2.9500" "3.5500" "3.6500" "3.55500" [489] "4.4500" "4500" "3.4500" "3.5500" "3.45500" "3.35500" "4.65500" "4.3500" [497] "3.8500" "4.3500" "3.95500" "3.65500"
mean(resultado[,1])
> mean(resultado[,1]) [1] NA Warning message: In mean.default(resultado[, 1]) : argumento não é numérico nem lógico: retornando NA
Muito obrigado
"Que força é esta, eu não sei; tudo o que sei é que existe, e está disponível apenas quando alguém está num estado em que sabe exatamente o que quer, e está totalmente determinado a não desistir até conseguir."Prof. Clodoaldo José Figueredo Msc - SIAPE 1800348Métodos Numéricos para Engenharia - Matemática AplicadaInstituto Federal Catarinense - Campus Araquari
Rodovia BR 280 - km 27 - Cx. Postal 21
CEP 89245-000 - Araquari/SC
Fone: (47) 3803-7240Em 17 de maio de 2017 17:42, Fernando Antonio de souza <nandodesouza@gmail.com> escreveu:ClodoaldoO código abaixo , ler seus dados e para cada coluna, aplica a função "obs" a saída será uma tabela contendo o número de colunas do seu dado fornecido e cada coluna conterá 500 linhas correspondente as quinhentas amostragens realizadas pela função "sample".Assim você pode indentificar cada vetor contendo os 500 dados amostrados através do index de colunapor exemplo : resultado[,1]Espero ter ajudadoA disposiçãodados <- matrix(nrow=10,ncol=16,data=rnorm(160))
obs <- function(x){
results <- c()
for(i in 1:500){
results[i] <- mean( sample(x,replace=TRUE))
saida <- paste(results,i,sep="")
}
return(saida)
}
resultado<-apply(dados,2,obs)
=========================================
Fernando Souza
Zootecnista, DSc. Produção e Alimentação Animal
Celular: (31)99796-8781 (Vivo)
E-mail:nandodesouza@gmail.com
Lattes: http://lattes.cnpq.br/6519538815038307
Blog: https://producaoanimalcomr.wordpress.com/
==========================================Sent from Nylas Mail, the best free email app for work![]()
On Mai 17 2017, at 4:19 pm, Clodoaldo José Figueredo via R-br <r-br@listas.c3sl.ufpr.br> wrote:Na rotina abaixo eu preciso gravar cada vetor results para os 16 valores de j. Preciso colocar um índice porque esses 16 resultados formarão uma nova matriz com 16 colunas e 500 linhas.Como indexar os vetores results no comando "for" e montar a nova matriz?
for(j in 1:16){
y <- dados[,j]
qqnorm(y);qqline(y)
mean(y)
results <- c()
for(i in 1:500){ results[i] <- mean( sample(y,replace=T))}
results
qqnorm(results);qqline(results)
mean (results)
}ObrigadoClodoaldo"Que força é esta, eu não sei; tudo o que sei é que existe, e está disponível apenas quando alguém está num estado em que sabe exatamente o que quer, e está totalmente determinado a não desistir até conseguir."Prof. Clodoaldo José Figueredo Msc - SIAPE 1800348Métodos Numéricos para Engenharia - Matemática AplicadaInstituto Federal Catarinense - Campus Araquari
Rodovia BR 280 - km 27 - Cx. Postal 21
CEP 89245-000 - Araquari/SC
Fone: (47) 3803-7240_______________________________________________ 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.