
Olá a todos. Estou trabalhando a análise de sobrevivência com um banco. Utilizei o tempo de forma clássica sem problemas. Agora quero utilizar o método de contagem e para isso preciso criar uma coluna com o tempo final de cada um. Só que o tempo final de uns é o tempo de readmissão, de outros é o tempo até o óbito e de outros é o tempo da saída até o final do estudo, pois não readmitiram nem morreram. Bem, o primeiro problema que estou enfrentando é que quando uso ifelse, a data muda de forma. E eu queria que continuasse como data. Segue um exemplo para que vocês possam me ajudar nome=c("Ricardo","Maria","Tereza","Pedro","José", "Germano","Ricardo") sobrenome=c("Cunha","Andrade","Silva","Soares","Silva","Lima","Cunha") dataint=c(20121004,20120907,20120703,20120301,20120805,20121209,20120508) datasaida=c(20130101,20121006,20120912,20120402,20130104,20130102,20120520) sexo=c("M","F","F","M","M","M","M") tentre=c(20,12,67,04,49,27,08) banco1=cbind(nome,sobrenome,sexo,dataint,datasaida,tentre) banco1=data.frame(banco1) banco1 str(banco1) banco1$tentre=as.character(banco1$tentre) banco1$dataint=as.Date(banco1$dataint,"%Y%m%d") banco1$datasaida=as.Date(banco1$datasaida,"%Y%m%d") banco1$datafim=ifelse(banco1$tentre>30,"0",banco1$datasaida) head(banco1) nome sobrenome sexo dataint datasaida tentre datafim 1 Ricardo Cunha M 2012-10-04 2013-01-01 20 15706 2 Maria Andrade F 2012-09-07 2012-10-06 12 15619 3 Tereza Silva F 2012-07-03 2012-09-12 67 0 4 Pedro Soares M 2012-03-01 2012-04-02 4 0 5 José Silva M 2012-08-05 2013-01-04 49 0 6 Germano Lima M 2012-12-09 2013-01-02 27 15707 7 Ricardo Cunha M 2012-05-08 2012-05-20 8 0 Ao invés de continuar as datas do datasaida ele muda a forma. Alguém poderia me ajudar, por favor? Obrigada Fátima -- "Minha felicidade depende da qualidade dos meus pensamentos"

Pessoal, consegui resolver. Segue: dataint=c(20121004,20120907,20120703,20120301,20120805,20121209,20120508) datasaida=c(20130101,20121006,20120912,20120402,20130104,20130102,20120520) sexo=c("M","F","F","M","M","M","M") tentre=c(20,12,67,04,49,27,08) banco1=cbind(nome,sobrenome,sexo,dataint,datasaida,tentre) banco1=data.frame(banco1) banco1 str(banco1) banco1$tentre=as.character(banco1$tentre) banco1$dataint=as.Date(banco1$dataint,"%Y%m%d") banco1$datasaida=as.Date(banco1$datasaida,"%Y%m%d") head(banco1) banco1$datafim=NA banco1$datafim=ifelse(banco1$tentre>30,"0",banco1$datasaida) banco1$datafim=as.integer(banco1$datafim) banco1$datafim[banco1$datafim==0]=NA banco1$datafim=as.Date(banco1$datafim, origin = "1970-01-01") head(banco1) Em 26 de fevereiro de 2014 10:36, Fátima Lima Paula < fatima.lima.paula@gmail.com> escreveu:
Olá a todos. Estou trabalhando a análise de sobrevivência com um banco. Utilizei o tempo de forma clássica sem problemas. Agora quero utilizar o método de contagem e para isso preciso criar uma coluna com o tempo final de cada um. Só que o tempo final de uns é o tempo de readmissão, de outros é o tempo até o óbito e de outros é o tempo da saída até o final do estudo, pois não readmitiram nem morreram. Bem, o primeiro problema que estou enfrentando é que quando uso ifelse, a data muda de forma. E eu queria que continuasse como data.
Segue um exemplo para que vocês possam me ajudar
nome=c("Ricardo","Maria","Tereza","Pedro","José", "Germano","Ricardo") sobrenome=c("Cunha","Andrade","Silva","Soares","Silva","Lima","Cunha") dataint=c(20121004,20120907,20120703,20120301,20120805,20121209,20120508) datasaida=c(20130101,20121006,20120912,20120402,20130104,20130102,20120520) sexo=c("M","F","F","M","M","M","M") tentre=c(20,12,67,04,49,27,08) banco1=cbind(nome,sobrenome,sexo,dataint,datasaida,tentre) banco1=data.frame(banco1) banco1 str(banco1) banco1$tentre=as.character(banco1$tentre) banco1$dataint=as.Date(banco1$dataint,"%Y%m%d") banco1$datasaida=as.Date(banco1$datasaida,"%Y%m%d") banco1$datafim=ifelse(banco1$tentre>30,"0",banco1$datasaida) head(banco1) nome sobrenome sexo dataint datasaida tentre datafim 1 Ricardo Cunha M 2012-10-04 2013-01-01 20 15706 2 Maria Andrade F 2012-09-07 2012-10-06 12 15619 3 Tereza Silva F 2012-07-03 2012-09-12 67 0 4 Pedro Soares M 2012-03-01 2012-04-02 4 0 5 José Silva M 2012-08-05 2013-01-04 49 0 6 Germano Lima M 2012-12-09 2013-01-02 27 15707 7 Ricardo Cunha M 2012-05-08 2012-05-20 8 0
Ao invés de continuar as datas do datasaida ele muda a forma. Alguém poderia me ajudar, por favor? Obrigada Fátima
-- "Minha felicidade depende da qualidade dos meus pensamentos"
-- "Minha felicidade depende da qualidade dos meus pensamentos"

Fátima, boa noite! Vi que você já conseguiu resolver, mas deixo a forma que havia pensado pra fins de comparação. ### <code r> nome=c("Ricardo","Maria","Tereza","Pedro","José", "Germano","Ricardo") sobrenome=c("Cunha","Andrade","Silva","Soares","Silva","Lima","Cunha") dataint=c(20121004,20120907,20120703,20120301,20120805,20121209,20120508) datasaida=c(20130101,20121006,20120912,20120402,20130104,20130102,20120520) sexo=c("M","F","F","M","M","M","M") tentre=c(20,12,67,04,49,27,08) ### banco1=data.frame(nome,sobrenome,sexo,dataint,datasaida,tentre, stringsAsFactors=F); banco1 str(banco1) ### banco1$dataint = strptime(banco1$dataint, "%Y%m%d") banco1$datasaida = strptime(banco1$datasaida,"%Y%m%d") banco1$datafim = banco1$datasaida banco1$datafim[banco1$tentre>30] = NA head(banco1) ### </code> Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]

Obrigada. Em 27 de fevereiro de 2014 00:04, Éder Comunello <comunello.eder@gmail.com>escreveu:
Fátima, boa noite!
Vi que você já conseguiu resolver, mas deixo a forma que havia pensado pra fins de comparação.
### <code r> nome=c("Ricardo","Maria","Tereza","Pedro","José", "Germano","Ricardo") sobrenome=c("Cunha","Andrade","Silva","Soares","Silva","Lima","Cunha") dataint=c(20121004,20120907,20120703,20120301,20120805,20121209,20120508) datasaida=c(20130101,20121006,20120912,20120402,20130104,20130102,20120520) sexo=c("M","F","F","M","M","M","M") tentre=c(20,12,67,04,49,27,08) ### banco1=data.frame(nome,sobrenome,sexo,dataint,datasaida,tentre, stringsAsFactors=F); banco1 str(banco1) ### banco1$dataint = strptime(banco1$dataint, "%Y%m%d") banco1$datasaida = strptime(banco1$datasaida,"%Y%m%d") banco1$datafim = banco1$datasaida banco1$datafim[banco1$tentre>30] = NA head(banco1) ### </code>
Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@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.
-- "Minha felicidade depende da qualidade dos meus pensamentos"
participantes (2)
-
Fátima Lima Paula
-
Éder Comunello