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.pa...@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"
_______________________________________________ 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.