
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

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 <sergio.edfisica@gmail.com>:
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.

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 <beniltoncarvalho@gmail.com>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 <sergio.edfisica@gmail.com>:
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

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 <sergio.edfisica@gmail.com>:
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 <beniltoncarvalho@gmail.com> 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 <sergio.edfisica@gmail.com>:
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.

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 <beniltoncarvalho@gmail.com> 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 <sergio.edfisica@gmail.com>:
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 <beniltoncarvalho@gmail.com> 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 <sergio.edfisica@gmail.com>:
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.

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.000000 5.618469 0.000000 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

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 <sergio.edfisica@gmail.com>:
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.000000 5.618469 0.000000 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.

Oi Benilton Funcionou direitinho! Valeu pela ajuda. Eu e meu estatístico local agradecemos Em 19 de junho de 2012 18:21, Benilton Carvalho <beniltoncarvalho@gmail.com>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 <sergio.edfisica@gmail.com>:
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.000000 5.618469 0.000000 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
participantes (3)
-
Benilton Carvalho
-
Sérgio Henrique
-
Sérgio Henrique almeida da silva ju