Re: [R-br] Ajuda em uma função
Obrigado pela dica Walmes. O que você sugere para eu obter esses dados? Simulação MC? Eu gostaria de colocar isso dentro de uma função para que eu possa obter esse resultado para um conjunto grande de valores. Segue um exemplo: idade=c(40,45,50,55,60,65,60,30,35,22) sd=c(10.2,15.1,6,6.5,10,12.5,8,9,9.5,10) npart=c(1000,100,1500,1,500,200,300,400,500,150) dados = cbind(as.data.frame(idade),as.data.frame(sd),as.data.frame(npart)) Ficaria assim a função? prop <- function(x){ for (i in 1:nrow(x)) z[i]=100*pnorm(45, x$idade[i], x$sd[i], lower.tail=FALSE) resultado <- z print(resultado)} prop(dados) Mas ainda não estou obtendo os valores o que preciso modificar nessa função. Em 30 de novembro de 2013 12:29, walmes . escreveu: > Se você tem média e desvio-padrão e acredita que X, sua variável > aleatória, tem esses valores como parâmetros de uma distribuição normal, > você não precisa simular e calcular frequências, use direto as > probabilidades teóricas e multiplique pelo número de pessoas. Ou seja, > > ## Seja X ~ Normal(mean=2, dp=1). > ## Qual P(X>2.5)? > ## Se n = 100, qual esperado para n*(X>2.5)? E = n*p > > ## por simulação (sujeito à erro Monte Carlo), > ## vai convergir quando n for para infinito. > x <- rnorm(100, 2, 1) > table(x>2.5) > > ## por teoria > 100*pnorm(2.5, 2, 1, lower.tail=FALSE) > > Você tá assumindo uma distribuição teórica a partir da qual pode-se usar, > portanto, os resultados teóricos mas tá resolvendo o problema na força > bruta, simulando da variável e obtendo a distribuição de frequência. É como > se você tivesse uma moto pronta para andar mas resolveu retirar o seu motor > e adaptar em uma bicicleta. Vai te custar tempo, não vai funcionar igual, > não vai ser tão rápido nem tão seguro, quem ver vai achar esquisito e te > encher de perguntas, muito embora você vai de A para B nessa bicicleta. Mas > você não precisa fazer isso. Vá de moto. > > À disposição. > Walmes. > > > ___ > 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. > -- 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) 68463637 http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro ___ 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.
Re: [R-br] Ajuda em uma função
Se você tem média e desvio-padrão e acredita que X, sua variável aleatória, tem esses valores como parâmetros de uma distribuição normal, você não precisa simular e calcular frequências, use direto as probabilidades teóricas e multiplique pelo número de pessoas. Ou seja, ## Seja X ~ Normal(mean=2, dp=1). ## Qual P(X>2.5)? ## Se n = 100, qual esperado para n*(X>2.5)? E = n*p ## por simulação (sujeito à erro Monte Carlo), ## vai convergir quando n for para infinito. x <- rnorm(100, 2, 1) table(x>2.5) ## por teoria 100*pnorm(2.5, 2, 1, lower.tail=FALSE) Você tá assumindo uma distribuição teórica a partir da qual pode-se usar, portanto, os resultados teóricos mas tá resolvendo o problema na força bruta, simulando da variável e obtendo a distribuição de frequência. É como se você tivesse uma moto pronta para andar mas resolveu retirar o seu motor e adaptar em uma bicicleta. Vai te custar tempo, não vai funcionar igual, não vai ser tão rápido nem tão seguro, quem ver vai achar esquisito e te encher de perguntas, muito embora você vai de A para B nessa bicicleta. Mas você não precisa fazer isso. Vá de moto. À disposição. Walmes. ___ 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.
Re: [R-br] Ajuda em uma função
Sérgio, bom dia! Teria um set de dados pra rodar o CMR? De antemão parece haver problema na execução da rnorm() cuja saída está sendo alocada em um objeto indexado que ainda não existe ('z'). A cada ciclo do for será gerada uma linha com 'npart' elementos e imagino que você queira acumular as saídas, mas essa não é a forma correta. Pode funcionar definindo z como uma lista e adicionando a saída em cada ciclo do for. Trabalhando só no primeiro trecho pensei em algo assim... ### ### não testado! prop <- function(x){ z <- list(NULL) for (i in 1:nrow(x)) { z[i]=list(rnorm(x$npart[i], mean=x$idade[i], sd=x$sd[i]))} return(z) } ### Desse ponto seria só prosseguir com os cálculos utilizando cada 'linha' da lista. Éder Comunello omunello.e...@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W] ___ 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] Ajuda em uma função
Amigos Eu tenho um conjunto de dados com a média da idade dos participantes e o desvio padrão da mesma e gostaria de gerar a distribuição dessas idades para que eu possa obter a proporção de uma determinada faixa etária. Eu fiz a função abaixo: prop <- function(x){ for (i in 1:nrow(x)) z[i]=rnorm(x$npart[i], mean = x$idade[i],sd =x$sd[i]) z y = ifelse(z < 45,"menor de 45 anos","maior de 45 anos") tabela <- table(y) tabela <- round(prop.table(tabela)*100,2) resultado <- tabela[2] print(resultado)} Onde npart é o número total de participantes. O que tenho que modificar nessa função para que eu possa obter os resultados? Att -- 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) 68463637 http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro ___ 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.
Re: [R-br] Ajuda em uma função
Oi Benilton Funcionou direitinho! Valeu pela ajuda. Eu e meu estatístico local agradecemos Em 19 de junho de 2012 18:21, Benilton Carvalho escreveu: > a correcao da minha funcao eh > > f = function(dados){ > res = vector('numeric', ncol(dados)/2) > cols = seq(1, ncol(dados), 2) > for (i in 1:length(cols)) > res[i] = kappa(dados[, c(cols[i], cols[i]+1)]) > res > } > > deixo para vc (e, possivelmente, seu estatistico local) entender(em) o > motivo. > > se vc quer uma lista que contenha um elemento chamado Kappa que seja > uma matrix de 1 coluna... > > z = list(Kappa=matrix(f(dados))) > > ou altere sua funcao para: > > f = function(dados){ > res = vector('numeric', ncol(dados)/2) > cols = seq(1, ncol(dados), 2) > for (i in 1:length(cols)) > res[i] = kappa(dados[, c(cols[i], cols[i]+1)]) > list(Kappa=matrix(res)) > } > > b > > 2012/6/19 Sérgio Henrique almeida da silva ju : > > Oi Benilton > > > > Aumentei meu conjunto de dados: > > > > a = c(1,3,5,4,3,2,1,4,5,3,4,5,2,1,1,3,4,5,5,3,2) > > a1 = c(4,5,5,4,4,3,2,1,4,3,4,5,3,2,3,4,5,5,4,4,1) > > d = c(3,3,4,4,5,4,3,2,4,5,5,3,4,4,5,4,3,2,3,4,5) > > d1 = c(2,2,3,3,4,3,2,3,4,5,5,5,4,3,2,3,4,5,4,3,2) > > e = c(1,3,5,4,3,2,1,4,5,3,4,5,2,1,1,3,4,5,5,3,2) > > e1 = c(4,5,5,4,4,3,2,1,4,3,4,5,3,2,3,4,5,5,4,4,1) > > f = c(1,3,5,4,3,2,1,4,5,3,4,5,2,1,1,3,4,5,5,3,2) > > f1= c(3,3,4,4,5,4,3,2,4,5,5,3,4,4,5,4,3,2,3,4,5) > > > > dados = data.frame(a,a1,d,d1,e,e1,f,f1) > > > > Porque quando rodo a função dá esse resultado? > > > > f = function(dados){ > > res = vector('numeric', ncol(dados)/2) > > for (i in seq(1, ncol(dados), 2)) > > res[i] = kappa(dados[, c(i, i+1)]) > > res > > } > > > >> f(dados) > > [1] 6.462970 0.00 5.618469 0.00 6.462970 NA 4.358520 > > > > > > > > Outra duvida > > > > Como colar esses resultados numa lista? > > > > inclui os comandos > > > > f = function(x){ > > res = vector('numeric', ncol(x)/2) > > for (i in seq(1, ncol(x), 2)) > > res[i] = kappa(x[, c(i, i+1)]) > > res > > z=cbind(res) > > rownames(z) <- ? (sequência que vai do número 1 até n resultados) > > resultado = list(Kappa = z) > > resultado > > } > > > > > > > > -- > > 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@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. > -- 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@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.
Re: [R-br] Ajuda em uma função
a correcao da minha funcao eh f = function(dados){ res = vector('numeric', ncol(dados)/2) cols = seq(1, ncol(dados), 2) for (i in 1:length(cols)) res[i] = kappa(dados[, c(cols[i], cols[i]+1)]) res } deixo para vc (e, possivelmente, seu estatistico local) entender(em) o motivo. se vc quer uma lista que contenha um elemento chamado Kappa que seja uma matrix de 1 coluna... z = list(Kappa=matrix(f(dados))) ou altere sua funcao para: f = function(dados){ res = vector('numeric', ncol(dados)/2) cols = seq(1, ncol(dados), 2) for (i in 1:length(cols)) res[i] = kappa(dados[, c(cols[i], cols[i]+1)]) list(Kappa=matrix(res)) } b 2012/6/19 Sérgio Henrique almeida da silva ju : > Oi Benilton > > Aumentei meu conjunto de dados: > > a = c(1,3,5,4,3,2,1,4,5,3,4,5,2,1,1,3,4,5,5,3,2) > a1 = c(4,5,5,4,4,3,2,1,4,3,4,5,3,2,3,4,5,5,4,4,1) > d = c(3,3,4,4,5,4,3,2,4,5,5,3,4,4,5,4,3,2,3,4,5) > d1 = c(2,2,3,3,4,3,2,3,4,5,5,5,4,3,2,3,4,5,4,3,2) > e = c(1,3,5,4,3,2,1,4,5,3,4,5,2,1,1,3,4,5,5,3,2) > e1 = c(4,5,5,4,4,3,2,1,4,3,4,5,3,2,3,4,5,5,4,4,1) > f = c(1,3,5,4,3,2,1,4,5,3,4,5,2,1,1,3,4,5,5,3,2) > f1= c(3,3,4,4,5,4,3,2,4,5,5,3,4,4,5,4,3,2,3,4,5) > > dados = data.frame(a,a1,d,d1,e,e1,f,f1) > > Porque quando rodo a função dá esse resultado? > > f = function(dados){ > res = vector('numeric', ncol(dados)/2) > for (i in seq(1, ncol(dados), 2)) > res[i] = kappa(dados[, c(i, i+1)]) > res > } > >> f(dados) > [1] 6.462970 0.00 5.618469 0.00 6.462970 NA 4.358520 > > > > Outra duvida > > Como colar esses resultados numa lista? > > inclui os comandos > > f = function(x){ > res = vector('numeric', ncol(x)/2) > for (i in seq(1, ncol(x), 2)) > res[i] = kappa(x[, c(i, i+1)]) > res > z=cbind(res) > rownames(z) <- ? (sequência que vai do número 1 até n resultados) > resultado = list(Kappa = z) > resultado > } > > > > -- > 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@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.
Re: [R-br] Ajuda em uma função
Oi Benilton Aumentei meu conjunto de dados: a = c(1,3,5,4,3,2,1,4,5,3,4,5,2,1,1,3,4,5,5,3,2) a1 = c(4,5,5,4,4,3,2,1,4,3,4,5,3,2,3,4,5,5,4,4,1) d = c(3,3,4,4,5,4,3,2,4,5,5,3,4,4,5,4,3,2,3,4,5) d1 = c(2,2,3,3,4,3,2,3,4,5,5,5,4,3,2,3,4,5,4,3,2) e = c(1,3,5,4,3,2,1,4,5,3,4,5,2,1,1,3,4,5,5,3,2) e1 = c(4,5,5,4,4,3,2,1,4,3,4,5,3,2,3,4,5,5,4,4,1) f = c(1,3,5,4,3,2,1,4,5,3,4,5,2,1,1,3,4,5,5,3,2) f1= c(3,3,4,4,5,4,3,2,4,5,5,3,4,4,5,4,3,2,3,4,5) dados = data.frame(a,a1,d,d1,e,e1,f,f1) Porque quando rodo a função dá esse resultado? f = function(dados){ res = vector('numeric', ncol(dados)/2) for (i in seq(1, ncol(dados), 2)) res[i] = kappa(dados[, c(i, i+1)]) res } > f(dados) [1] 6.462970 0.00 5.618469 0.00 6.462970 NA 4.358520 Outra duvida Como colar esses resultados numa lista? inclui os comandos f = function(x){ res = vector('numeric', ncol(x)/2) for (i in seq(1, ncol(x), 2)) res[i] = kappa(x[, c(i, i+1)]) res z=cbind(res) rownames(z) <- ? (sequência que vai do número 1 até n resultados) resultado = list(Kappa = z) resultado } -- 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@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.
Re: [R-br] Ajuda em uma função
Oi Benilton Quando crescer quero ser igual a você! Obrigado! Não estou com dificuldade na análise, mas sim de como fazê-lá de forma mais otimizada e não tendo todo trabalho manual. Obrigado mais uma vez! Enviado via iPad Em Jun 19, 2012, às 4:53 PM, Benilton Carvalho escreveu: > Continua sendo a mesma estrategia (note que eu nao falei a mesma > solucao, o q sugere a necessidade de pensar na solucao ja' dada e > altera-la apropriadamente)... > > f = function(dados){ > res = vector('numeric', ncol(dados)/2) > for (i in seq(1, ncol(dados), 2)) > res[i] = kappa(dados[, c(i, i+1)]) > res > } > > Em suas proximas mensagens, por favor, poste o que voce tentou fazer > (de forma resumida, claro), pois prefiro ensinar a pescar a dar o > peixe... Caso contrario, aceite minha recomendacao de procurar um > estatistico local para te auxiliar. > > benilton > > 2012/6/19 Sérgio Henrique almeida da silva ju : >> Valeu Benilton >> >> Mas a estratégia da semana passada ele calculava em um intervalo: >> >> f = function(dados){ >> res = vector('numeric', ncol(dados)) >> for (i in 1:ncol(dados)) >> res[i] = cronbach(dados[, -i])$alpha >> res >> } >> f(dados) >> >> Se eu for rodar dessa forma terei que dizendo quais são as colunas, mas >> dessa vez a análise é 2 a 2 (colunas) de a1 até an. >> >> >> >> >> Em 19 de junho de 2012 14:52, Benilton Carvalho >> escreveu: >> >>> exatamente a mesma estrategia do q vc solicitou na semana passada com >>> a funcao cronbach(). >>> >>> 2012/6/19 Sérgio Henrique almeida da silva ju : Olá Estou com mais uma dúvida no desenvolvimento de uma função Preciso analisar um conjunto de dados, porém essa análise é feita a cada duas colunas: a = c(1,3,5,4,3,2,1,4,5,3,4,5,2,1,1,3,4,5,5,3,2) a1 = c(4,5,5,4,4,3,2,1,4,3,4,5,3,2,3,4,5,5,4,4,1) d = c(3,3,4,4,5,4,3,2,4,5,5,3,4,4,5,4,3,2,3,4,5) d1 = 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,a1,d,d1) library(psy) x=kappa(dados[,c(1,2)]) x y=kappa(dados[,c(3,4)]) y z=kappa(dados[,c(n,n+1)]) z Porém gostaria de rodar uma função que calcule isso automaticamente, dando todos os resultados, para isso eu daria a coluna de inicio e a coluna final. Como posso fazer? -- 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@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. >> >> >> >> >> -- >> 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@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. ___ 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.
Re: [R-br] Ajuda em uma função
Continua sendo a mesma estrategia (note que eu nao falei a mesma solucao, o q sugere a necessidade de pensar na solucao ja' dada e altera-la apropriadamente)... f = function(dados){ res = vector('numeric', ncol(dados)/2) for (i in seq(1, ncol(dados), 2)) res[i] = kappa(dados[, c(i, i+1)]) res } Em suas proximas mensagens, por favor, poste o que voce tentou fazer (de forma resumida, claro), pois prefiro ensinar a pescar a dar o peixe... Caso contrario, aceite minha recomendacao de procurar um estatistico local para te auxiliar. benilton 2012/6/19 Sérgio Henrique almeida da silva ju : > Valeu Benilton > > Mas a estratégia da semana passada ele calculava em um intervalo: > > f = function(dados){ > res = vector('numeric', ncol(dados)) > for (i in 1:ncol(dados)) > res[i] = cronbach(dados[, -i])$alpha > res > } > f(dados) > > Se eu for rodar dessa forma terei que dizendo quais são as colunas, mas > dessa vez a análise é 2 a 2 (colunas) de a1 até an. > > > > > Em 19 de junho de 2012 14:52, Benilton Carvalho > escreveu: > >> exatamente a mesma estrategia do q vc solicitou na semana passada com >> a funcao cronbach(). >> >> 2012/6/19 Sérgio Henrique almeida da silva ju : >> > Olá >> > >> > Estou com mais uma dúvida no desenvolvimento de uma função >> > >> > Preciso analisar um conjunto de dados, porém essa análise é feita a cada >> > duas colunas: >> > >> > a = c(1,3,5,4,3,2,1,4,5,3,4,5,2,1,1,3,4,5,5,3,2) >> > a1 = c(4,5,5,4,4,3,2,1,4,3,4,5,3,2,3,4,5,5,4,4,1) >> > d = c(3,3,4,4,5,4,3,2,4,5,5,3,4,4,5,4,3,2,3,4,5) >> > d1 = 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,a1,d,d1) >> > >> > library(psy) >> > x=kappa(dados[,c(1,2)]) >> > x >> > y=kappa(dados[,c(3,4)]) >> > y >> > z=kappa(dados[,c(n,n+1)]) >> > z >> > Porém gostaria de rodar uma função que calcule isso automaticamente, >> > dando >> > todos os resultados, para isso eu daria a coluna de inicio e a coluna >> > final. >> > >> > Como posso fazer? >> > >> > -- >> > 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@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. > > > > > -- > 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@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.
Re: [R-br] Ajuda em uma função
Valeu Benilton Mas a estratégia da semana passada ele calculava em um intervalo: f = function(dados){ res = vector('numeric', ncol(dados)) for (i in 1:ncol(dados)) res[i] = cronbach(dados[, -i])$alpha res } f(dados) Se eu for rodar dessa forma terei que dizendo quais são as colunas, mas dessa vez a análise é 2 a 2 (colunas) de a1 até an. Em 19 de junho de 2012 14:52, Benilton Carvalho escreveu: > exatamente a mesma estrategia do q vc solicitou na semana passada com > a funcao cronbach(). > > 2012/6/19 Sérgio Henrique almeida da silva ju : > > Olá > > > > Estou com mais uma dúvida no desenvolvimento de uma função > > > > Preciso analisar um conjunto de dados, porém essa análise é feita a cada > > duas colunas: > > > > a = c(1,3,5,4,3,2,1,4,5,3,4,5,2,1,1,3,4,5,5,3,2) > > a1 = c(4,5,5,4,4,3,2,1,4,3,4,5,3,2,3,4,5,5,4,4,1) > > d = c(3,3,4,4,5,4,3,2,4,5,5,3,4,4,5,4,3,2,3,4,5) > > d1 = 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,a1,d,d1) > > > > library(psy) > > x=kappa(dados[,c(1,2)]) > > x > > y=kappa(dados[,c(3,4)]) > > y > > z=kappa(dados[,c(n,n+1)]) > > z > > Porém gostaria de rodar uma função que calcule isso automaticamente, > dando > > todos os resultados, para isso eu daria a coluna de inicio e a coluna > final. > > > > Como posso fazer? > > > > -- > > 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@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. > -- 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@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.
Re: [R-br] Ajuda em uma função
exatamente a mesma estrategia do q vc solicitou na semana passada com a funcao cronbach(). 2012/6/19 Sérgio Henrique almeida da silva ju : > Olá > > Estou com mais uma dúvida no desenvolvimento de uma função > > Preciso analisar um conjunto de dados, porém essa análise é feita a cada > duas colunas: > > a = c(1,3,5,4,3,2,1,4,5,3,4,5,2,1,1,3,4,5,5,3,2) > a1 = c(4,5,5,4,4,3,2,1,4,3,4,5,3,2,3,4,5,5,4,4,1) > d = c(3,3,4,4,5,4,3,2,4,5,5,3,4,4,5,4,3,2,3,4,5) > d1 = 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,a1,d,d1) > > library(psy) > x=kappa(dados[,c(1,2)]) > x > y=kappa(dados[,c(3,4)]) > y > z=kappa(dados[,c(n,n+1)]) > z > Porém gostaria de rodar uma função que calcule isso automaticamente, dando > todos os resultados, para isso eu daria a coluna de inicio e a coluna final. > > Como posso fazer? > > -- > 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@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.
[R-br] Ajuda em uma função
Olá Estou com mais uma dúvida no desenvolvimento de uma função Preciso analisar um conjunto de dados, porém essa análise é feita a cada duas colunas: a = c(1,3,5,4,3,2,1,4,5,3,4,5,2,1,1,3,4,5,5,3,2) a1 = c(4,5,5,4,4,3,2,1,4,3,4,5,3,2,3,4,5,5,4,4,1) d = c(3,3,4,4,5,4,3,2,4,5,5,3,4,4,5,4,3,2,3,4,5) d1 = 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,a1,d,d1) library(psy) x=kappa(dados[,c(1,2)]) x y=kappa(dados[,c(3,4)]) y z=kappa(dados[,c(n,n+1)]) z Porém gostaria de rodar uma função que calcule isso automaticamente, dando todos os resultados, para isso eu daria a coluna de inicio e a coluna final. Como posso fazer? -- 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@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] Ajuda em uma função
Bom dia, Algume conheçe como implementar função impulso, no R? Do tipo delta de Dirac: O sinal delta de Dirac δ(t) foi criado pelo físico inglês Paul A. Maurice Dirac (1902 - 1984) e pode ser visto como o equivalente contínuo do delta de Kronecker (matemático alemão,1823 - 1991) e como o limite de uma distribuição normal Grato, Marcelo.___ 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.
Re: [R-br] Ajuda em uma função
Ótimo Obrigado pela ajuda! Em 15 de junho de 2012 09:07, Benilton Carvalho escreveu: > apenas passe para a funcao as colunas que deve ser incluidas... > > f(dados[, c(1, 4, 5, 10, 3, 39)]) > > 2012/6/15 Sérgio Henrique almeida da silva ju : > > Oi Benilton > > > > Obrigado mais uma vez! > > > > Como no meu banco podem haver várias escalas eu preciso nessa função > dizer > > em qual coluna eu quero começar e terminar as análises. Como posso > incluir > > na função isso? > > > > Abraços > > > > Em 15 de junho de 2012 08:51, Benilton Carvalho < > beniltoncarva...@gmail.com> > > escreveu: > > > >> 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.edfis...@gmail.com>: > >> > Alguém? > >> > > >> > Em 14 de junho de 2012 15:52, Sérgio Henrique almeida da silva ju > >> > 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@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. > > > > > > > > > > -- > > 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@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. > -- 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@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/li
Re: [R-br] Ajuda em uma função
apenas passe para a funcao as colunas que deve ser incluidas... f(dados[, c(1, 4, 5, 10, 3, 39)]) 2012/6/15 Sérgio Henrique almeida da silva ju : > Oi Benilton > > Obrigado mais uma vez! > > Como no meu banco podem haver várias escalas eu preciso nessa função dizer > em qual coluna eu quero começar e terminar as análises. Como posso incluir > na função isso? > > Abraços > > Em 15 de junho de 2012 08:51, Benilton Carvalho > escreveu: > >> 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 : >> > Alguém? >> > >> > Em 14 de junho de 2012 15:52, Sérgio Henrique almeida da silva ju >> > 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@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. > > > > > -- > 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@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.
Re: [R-br] Ajuda em uma função
Oi Benilton Obrigado mais uma vez! Como no meu banco podem haver várias escalas eu preciso nessa função dizer em qual coluna eu quero começar e terminar as análises. Como posso incluir na função isso? Abraços Em 15 de junho de 2012 08:51, Benilton Carvalho escreveu: > 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 : > > Alguém? > > > > Em 14 de junho de 2012 15:52, Sérgio Henrique almeida da silva ju > > 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@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. > -- 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@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.
Re: [R-br] Ajuda em uma função
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 : > Alguém? > > Em 14 de junho de 2012 15:52, Sérgio Henrique almeida da silva ju > 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@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.
Re: [R-br] Ajuda em uma função
Alguém? Em 14 de junho de 2012 15:52, Sérgio Henrique almeida da silva ju < sergio.edfis...@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@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] Ajuda em uma função
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 ___ 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.