Clodoaldo

Estou 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 <- c()
       for(i in 1:500){
           
           results[i] <- mean(sample(dados,replace=T))
           
       }
   
return(results)
}

Em 18/05/2017 9:24 AM, "Clodoaldo José Figueredo" <clodoaldo.figueredo@ifc-araquari.edu.br> escreveu:
Caro Fernando (e demais colegas)

Gostaria de agradecer sua grande ajuda, mas preciso tirar mais outras dúvidas.
Abaixo está o código completo e a matriz dados que é base para os cálculos.
A saída que inseri é a coluna resultado [,1]

Porque não consigo calcular a média dos valores?
As saídas serão usadas como vetores (individualmente) em um outro procedimento para uso do pacote "sem" (Modelagem de equações estruturais).
Como tira as aspas, ou não tem nada a ver?
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)


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)

resultado[,1]
> 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 1800348
Métodos Numéricos para Engenharia - Matemática Aplicada
Instituto Federal Catarinense - Campus Araquari
Rodovia BR 280 - km 27 - Cx. Postal 21
CEP 89245-000 - Araquari/SC
Fone: (47) 3803-7240
 

Em 17 de maio de 2017 17:42, Fernando Antonio de souza <nandodesouza@gmail.com> escreveu:
Clodoaldo

O 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 coluna
 por exemplo : resultado[,1]

Espero ter ajudado

A disposição

dados <- 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) 
}

Obrigado

Clodoaldo

"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 1800348
Métodos Numéricos para Engenharia - Matemática Aplicada
Instituto 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.