[R-br] Ajuda em uma função

Benilton Carvalho beniltoncarvalho em gmail.com
Sexta Junho 15 08:51:41 BRT 2012


supondo q nao tenha visto seu ultimo email:

res = vector('numeric', ncol(dados))
for (i in 1:ncol(dados))
  res[i] = cronbach(dados[, -i])$alpha

se vc acha q precisa mesmo de uma funcao para isso...

f = function(dados){
res = vector('numeric', ncol(dados))
for (i in 1:ncol(dados))
  res[i] = cronbach(dados[, -i])$alpha
res
}
f(dados)

b

2012/6/15 Sérgio Henrique almeida da silva ju <sergio.edfisica em gmail.com>:
> Alguém?
>
> Em 14 de junho de 2012 15:52, Sérgio Henrique almeida da silva ju
> <sergio.edfisica em gmail.com> escreveu:
>
>> Olá
>>
>> Gostaria de fazer uma função e como não entendo nada, gostaria de pedir
>> ajuda de vocês
>>
>> Eu uso o Alfa de Cronbach para analisar a consistência interna de uma
>> escala, normalmente se calculo o alfa total e o alfa se uma variável for
>> retirada.
>> O alfa total é fácil de fazer, porém quando eu vou fazer o calculo de
>> quando retiro uma variável tenho que fazer tudo manualmente.
>>
>> Ex.:
>>
>> a = c(1,3,5,4,3,2,1,4,5,3,4,5,2,1,1,3,4,5,5,3,2)
>> b = c(4,5,5,4,4,3,2,1,4,3,4,5,3,2,3,4,5,5,4,4,1)
>> c = c(3,3,4,4,5,4,3,2,4,5,5,3,4,4,5,4,3,2,3,4,5)
>> d = c(2,2,3,3,4,3,2,3,4,5,5,5,4,3,2,3,4,5,4,3,2)
>> dados = data.frame(a,b,c,d)
>>
>> library(psy)
>>
>> # Alfa Total
>>
>> cronbach(dados[,1:4])
>>
>> alfa total = 0.5324005
>>
>>
>> Agora preciso retirar a variável "a" e rodar novamente o calculo, depois
>> colocar ela denovo no banco e retirar a variável "b" e assim sucessivamente,
>> dessa forma terei o valor do alfa caso eu retire uma variável.
>>
>> # Alfa retirando a variável
>>
>> a = 0.220339
>> b = 0.3239247
>> c = 0.7669716
>> d = 0.2198046
>>
>> Qual a melhor forma de fazer isso através de uma função?
>>
>> Abraços
>>
>> --
>> Sérgio Henrique Almeida da Silva Junior
>> Doutorando em Epidemiologia em Saúde Pública
>> Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ
>> http://lattes.cnpq.br/1611345552843383
>> Tel: (21) 94429486/78101651 id: 123*20942
>>
>>
>
>
>
> --
> Sérgio Henrique Almeida da Silva Junior
> Doutorando em Epidemiologia em Saúde Pública
> Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ
> http://lattes.cnpq.br/1611345552843383
> Tel: (21) 94429486/78101651 id: 123*20942
>
>
>
> _______________________________________________
> R-br mailing list
> R-br em 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.


Mais detalhes sobre a lista de discussão R-br