Duvidas procedimentos SAS x R

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Duvidas procedimentos SAS x R

Mensagem  JeanLeite em Ter Jun 26, 2012 8:53 am

Boa dia,

Trabalho com análise de banco de operadoras de saúde utilizando o SAS como ferramenta de trabalho.
Entretanto estou migrando para o R devido ao fato de ser gratuito e já consegui resolver boa parte do que necessito para a leitura dos dados.

Entretanto existe uma coluna que possuem codigos de eventos de 1 até 65 que representam diversos tipos de procedimentos médicos.
no SAS classifico da seguinte forma, criando a partir da variavel "EVENTO" uma nova variavel "EVENTOCD":

IF (EVENTO = 1) THEN EVENTOCD = 'CONSULTAS';
IF (EVENTO > 1 AND EVENTO <= 24) THEN EVENTOCD = 'EXAMES';
e dai por diante.

No R, eu consegui fazer isto da seguinte forma

arquivo2<- data.frame(arquivo2,arquivo2$EVENTO);
arquivo2$arquivo2.EVENTO <- ifelse(arquivo2$EVENTO == 1, "CONSULTAS", arquivo2$arquivo2.EVENTO)
arquivo2$arquivo2.EVENTO <- ifelse(arquivo2$EVENTO > 1 & arquivo2$EVENTO <=24, "EXAMES", arquivo2$arquivo2.EVENTO)

Gostaria de saber se existe a possibilidade de ao inves de usar "data.frame(arquivo2,arquivo2$EVENTO)" existe alguma forma de armazenar o nome do procedimento em uma variavel da mesma forma que nomeei no SAS de "EVENTOCD".

Feito esta parte de nomear todos os codigos presentes na coluna de evento, existe outra coluna com codigos de 8 digitos que registro em uma variavel chamada "CODAMB_8" que são definidos em tabela AMB e CBHPM que defino qual procedimento se refere nas variaveis "CODEVF" e "CBHPM"que no SAS faço da seguinte forma:

IF CODAMB_8 = '00010014' THEN CODEVF= 'CONSULTAS';
IF CODAMB_8 = '19010010' THEN CODEVF= 'EXAMES';
e dai por diante.

IF CODAMB_8='10101012' THEN CBHPM='CONSULTAS';
IF CODAMB_8='30713102' THEN CBHPM='EXAMES';

Por fim, depois de definir através do codigo de "EVENTO" armazenados em "EVENTOCD" e codigos AMB e CBHPM armazenados em "CODEVF" e "CBHPM", faço uma ultima classificação chamada "EVENTOGR" da seguinte forma:

EVENTOGR=CODEVF; *A variavel EVENTOGR recebe o procedimento armazenado em CODEVF*;
IF CODEVF=' ' THEN EVENTOGR=CBHPM;*Se variavel CODEVF estiver em branco, variavel EVENTOGR recebe o procedimento armazenado em CBHPM*;
IF (CODEVF=' ' and CBHPM=' ') THEN EVENTOGR=EVENTOCD; *Se variavel CODEVF e CBHPM estiver em branco, variavel EVENTOGR recebe o procedimento armazenado em EVENTOCD*;
IF (CODEVF=' ' and CBHPM='vazio') THEN EVENTOGR=EVENTOCD;*Se variavel CODEVF em branco e CBHPM classificado como 'vazio', variavel EVENTOGR recebe o procedimento armazenado em EVENTOCD*


Existe alguma comando especifo no R para tal analise?

JeanLeite

Mensagens : 14
Data de inscrição : 17/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvidas procedimentos SAS x R

Mensagem  gustavoreis em Qui Jun 28, 2012 2:39 pm

Boa Tarde Jean!

Eu procurei fazer os comandos da forma que ficasse mais fácil para você entender, como eu não sei todas as características de seus dados eu tentei fazer os comandos de forma que funcione em todas as situações. É possível que haja algum erro, pois não tenho os dados aqui para testar, então faça o teste aí e se algo der errado me avise para que eu conserte.
Tente o seguinte:
attach(arquivo2) # cada coluna do arquivo2 será reconhecida como uma variável
eventocd <- ifelse(EVENTO == 1, "CONSULTAS", EVENTO)
eventocd <- ifelse(EVENTO > 1 & EVENTO <=24, "EXAMES", EVENTO)

Caso os dados contidos em EVENTO fiquem apenas no intervalo de 1 a 24 então você pode simplificar os comandos acima da seguinte forma:
eventocd <- ifelse(EVENTO == 1, "CONSULTAS", "EXAMES")

Já na segunta parte tente esses comandos:
CODEVF<- ifelse(CODAMB_8 = "00010014", "CONSULTAS", " ")
CODEVF<- ifelse(CODAMB_8 = "19010010", "EXAMES", " ")
e dai por diante.

CBHPM <- ifelse(CODAMB_8 = "10101012", "CONSULTAS", " ")
CBHPM <- ifelse(CODAMB_8 = "30713102", "EXAMES", " ")

Por fim faça o seguinte:
EVENTOGR<-ifelse(CODEVF ==" ", CBHPM, CODEVF)
EVENTOGR<-ifelse(EVENTOGR ==" ", EVENTOCD, EVENTOGR)
EVENTOGR<-ifelse(EVENTOGR =="vazio", EVENTOCD, EVENTOGR)

Caso tenha alguma dúvida pode perguntar.

Att,

Gustavo Mello Reis

gustavoreis
Admin

Mensagens : 70
Data de inscrição : 01/03/2011
Idade : 32

Ver perfil do usuário http://estatisticanor.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Duvidas procedimentos SAS x R

Mensagem  JeanLeite em Qui Jun 28, 2012 5:17 pm

Boa tarde Gustavo,

Primeiramente obrigado pela ajuda.
Entendi o que você fez, é bem parecido com o que preciso, porém esqueci de passar algumas informações.

Eu preciso que estas classificações de "EVENTOCD", "CODEVF", e "CBHPM" e a condição da criação da variavel EVENTOGR fiquem dentro do mesmo arquivo, ou seja "arquivo2". Posteriormente irei criar algumas tabelas de contigências com outras variaveis do banco, por exemplo, quantos consultas ocorrendo dentro de uma certa localização, quais eventos existentes dentro de uma guia de internação especifica, qual os valores totais de consultas, exames e etc. Também faço uma mescla deste banco com outro banco, porém isto é outro assunto e já consegui resolver.

Nesta primeira imagem consta como procedo no SAS para tais classificações. A classificação "EVENTOCD" está completa, todos os eventos conforme preciso definir. Já as "CODEVF" e "CBHPM" estão apenas exemplos de 2 códigos existentes, pois existem milhares de códigos a serem classificados.




Já nesta imagem abaixo é possivel observar a frequencia dos eventos classificados a partir do "EVENTOCD"




E por fim, da forma que havia feito no R





Aqui consta os arquivos os quais fiz o teste e o script q utilizei.
script arquivo teste.txt
teste.txt

Desde já obrigado pela sua colaboração!!!

Jean Leite

JeanLeite

Mensagens : 14
Data de inscrição : 17/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvidas procedimentos SAS x R

Mensagem  gustavoreis em Qui Jun 28, 2012 9:47 pm

Boa noite Jean,

Vejo que você tem um bom conhecimento em programação, então irei utilizar uns comandos mais adequados para seu caso, se tiver alguma dúvida me pergunte.

Com relação ao fato de que EVENTOCD e as demais variáveis precisarem estar dentro de arquivo2, não vejo problema algum em trabalhar com elas separadamente e depois fazer a junção da mesma forma que você fez no começo:

arquivo2<- data.frame(arquivo2, EVENTOCD, CODEVF, CBHPM) # fazer isso no final de tudo

Vamos aos códigos:

attach(arquivo2) # cada coluna do arquivo2 será reconhecida como uma variável
eventocd<- vector("character", length=length(EVENTO)) #criando a variável eventocd
eventocd[EVENTO == 1]<- "CONSULTAS"
eventocd[EVENTO > 1 & EVENTO <=24] <- "EXAMES"
......

Já na segunta parte tente esses comandos:
CODEVF <-vector("character", length=length(CODAMB_8))
CODEVF[CODAMB_8 == "00010014"]<- "CONSULTAS"
CODEVF[CODAMB_8 == "19010010"]<- "EXAMES"
......

Obs: Caso o programa R reconheça a variável CODAMB_8 como sendo numérica, então você não deve usar aspas nos números, ou seja:
CODEVF[CODAMB_8 == 10014]<- "CONSULTAS"
CODEVF[CODAMB_8 == 19010010]<- "EXAMES"


CBHPM <-vector("character", length=length(CODAMB_8))
CBHPM[CODAMB_8 == "10101012"]<- "CONSULTAS"
CBHPM [CODAMB_8 == "30713102"]<- "EXAMES"
…….

obs2: mesma observação feita acima

Por fim faça o seguinte:
EVENTOGR<-CODEVF
EVENTOGR[CODEVF ==" "]<- CBHPM[CODEVF ==" "]
EVENTOGR[EVENTOGR ==" " ] <- EVENTOCD[EVENTOGR ==" "]
EVENTOGR [EVENTOGR =="vazio"]<- EVENTOCD[EVENTOGR =="vazio"]
detach(arquivo2) # desfaz o attach()
arquivo2<- data.frame(arquivo2, EVENTOCD, CODEVF, CBHPM)


Novamente eu digo que pode haver algum erro, pois só mesmo rodando os dados para detectar todos os erros possíveis, portanto qualquer problema me avise que eu faço as correções.

gustavoreis
Admin

Mensagens : 70
Data de inscrição : 01/03/2011
Idade : 32

Ver perfil do usuário http://estatisticanor.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Duvidas procedimentos SAS x R

Mensagem  JeanLeite em Qui Jun 28, 2012 11:45 pm

Boa noite Gustavo,

Muito obrigado!!!

"EVENTOCD" ok, fiz aqui em casa agora e deu certinho. Restante irei fazer amanhã no serviço pois não tenho os dados aqui agora e te retorno.

Abraço!

JeanLeite

Mensagens : 14
Data de inscrição : 17/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvidas procedimentos SAS x R

Mensagem  gustavoreis em Sab Jun 30, 2012 12:16 am

Aguardo a confirmação se os demais comandos funcionaram.

gustavoreis
Admin

Mensagens : 70
Data de inscrição : 01/03/2011
Idade : 32

Ver perfil do usuário http://estatisticanor.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Duvidas procedimentos SAS x R

Mensagem  JeanLeite em Sab Jun 30, 2012 9:35 am

Bom dia Gustavo,

Quase tudo funcionou perfeitamente, os dados batem da forma que extraio no SAS.
Somente "EVENTOGR" que não bate.

No SAS a ideia é o seguinte:
"EVENTOCD" são classificações particulares de cada operadora e esta preenchido para todas as linhas do banco. "CODEVF" e "CBHPM" são tabelas nacionais de procedimentos medicos.
A variavel "EVENTOGR" é criada para estudar se os codigos das tabelas condizem com o procedimento "EVENTOCD" da operadora.
Em um primeiro momento, esta variavel "EVENTOGR" recebe o procedimento de "CODEVF", se este estiver em branco, vai receber "CBHPM". Mas se mesmo assim, "CODEVF" estiver em branco e "CBHPM" estiver em branco ou vazio, receberá o procedimento armezenado pela classificação da operadora em "EVENTOCD". Resumindo, no SAS fica desta forma:

EVENTOGR = CODEVF;
IF CODEVF = ' ' THEN EVENTOGR=CBHPM;
IF ( CODEVF = ' ' and CBHPM = ' ' ) THEN EVENTOGR = EVENTOCD;
IF ( CODEVF = ' ' and CBHPM = 'vazio' ) THEN EVENTOGR = EVENTOCD;

Você me orientou a testar:
EVENTOGR <- CODEVF
EVENTOGR [ CODEVF == " " ] <- CBHPM [ CODEVF == " " ]
EVENTOGR [ EVENTOGR == " " ] <- EVENTOCD [ EVENTOGR == " " ]
EVENTOGR [ EVENTOGR == "vazio" ] <- EVENTOCD [ EVENTOGR == "vazio" ]

E ocorreu que "EVENTOGR" não foram classificados para muitos eventos do banco, o que não deve ocorrer, pois este procedimento sempre terá alguma classificação, ou "CODEVF", ou "CBHPM", ou "EVENTOCD".

Estive olhando pelo que você me passou e não testei aqui pois só tenho os arquivos por completo no meu trabalho, "EVENTOGR" não teria que proceder desta forma como descrevo abaixo para ser similar ao comando do SAS?

EVENTOGR <- CODEVF
EVENTOGR [ CODEVF == " " ] <- CBHPM [ CODEVF == " " ]
EVENTOGR [ CODEVF == " " & CBHPM == " " ] <- EVENTOCD [ CODEVF == " " & CBHPM == " " ]
EVENTOGR [ CODEVF == " " & CBHPM == "vazio" ] <- EVENTOCD [ CODEVF == " " & CBHPM == "vazio" ]

Obrigado pela colaboração,

Jean Leite

JeanLeite

Mensagens : 14
Data de inscrição : 17/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvidas procedimentos SAS x R

Mensagem  gustavoreis em Sab Jun 30, 2012 2:06 pm

Bom dia!

Em relação a sua dúvida, realmente para seguir o mesmo raciocínio que foi feito no SAS os comandos devem ficar como você descreveu. No entanto acho que o resultado final será o mesmo, eu apenas procurei simplificar, veja a explicação:

comando utilizado por você:
EVENTOGR <- CODEVF
EVENTOGR [ CODEVF == " " ] <- CBHPM [ CODEVF == " " ]
EVENTOGR [ CODEVF == " " & CBHPM == " " ] <- EVENTOCD [ CODEVF == " " & CBHPM == " " ]
EVENTOGR [ CODEVF == " " & CBHPM == "vazio" ] <- EVENTOCD [ CODEVF == " " & CBHPM == "vazio" ]


comando que utilizei diferente:
1) EVENTOGR [ EVENTOGR == " " ] <- EVENTOCD [ EVENTOGR == " " ]

explicação: se CODEVF == " " & CBHPM == " " então EVENTOGR == " " devido aos comandos aplicados anteriormente.

2) EVENTOGR [ EVENTOGR == "vazio" ] <- EVENTOCD [ EVENTOGR == "vazio" ]

explicação: se CODEVF == " " & CBHPM == "vazio" então EVENTOGR == "vazio" devido aos comandos aplicados anteriormente.


Caso realmente esteja dando diferença em relação ao SAS a sugestão que posso dar é que verifique no R como fica essa descrição "vazio" se tem alguma letra maiúscula, se tem algum espaço em branco antes ou depois, se possui duas aspas ou se aparece de alguma outra forma diferente.


gustavoreis
Admin

Mensagens : 70
Data de inscrição : 01/03/2011
Idade : 32

Ver perfil do usuário http://estatisticanor.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Duvidas procedimentos SAS x R

Mensagem  JeanLeite em Seg Jul 02, 2012 2:48 pm

Boa tarde Gustavo,

Refiz aqui as análises e cheguei a conclusão que somente a primeira condição ( EVENTOGR <- CODEVF ) está sendo elaborada, conforme segue a explicação abaixo:

Nessa primeira imagem é possivel observar todos os codigos de eventos presentes no banco e sua classificação "EVENTOCD". Todos foram preenchidos.





E na imagem abaixo é possivel observar a ausencia de classificação para "CODEVF" e "CBHPM". Porém "EVENTOGR" 100% classificado.





Então 502.923 procedimentos pela variavel "CODEVF" não tiveram classificação, sendo assim, através da segunda condição, o "EVENTOGR" deve receber o procedimento armazenado em "CBHPM", e pela variável "CBHPM" 408.608 procedimentos não tiveram classificação. Logo apenas 94.315 procedimentos receberam a classificação "CBHPM" na variavel "EVENTOGR" e o restante dos 408.608 receberam o procedimento armazenado em "EVENTOCD".

Então extrai pelo R conforme me ensinou e veriquei que somente a primeira condição está sendo realizada conforme está destacado abaixo:






Sendo que "EVENTOGR" é da forma que escrevi,similar ao SAS, e "EVENTOGR.1" é da forma que me passou e ambos realmente é o mesmo resultado. Olhei a descrição de "vazio" e está tudo minusculo mesmo e sem espaço conforme mostra na imagem acima.

Você tem alguma sugestão do que posso testar?

Mais uma vez, obrigado pela sua colaboração!!!

Abraço!

JeanLeite

Mensagens : 14
Data de inscrição : 17/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvidas procedimentos SAS x R

Mensagem  gustavoreis em Seg Jul 02, 2012 3:57 pm

Acho que pode ser o espaço que utilzei entre as aspas, quando na verdade não deve haver nada entre as aspas, tente o seguinte:

EVENTOGR <- CODEVF
EVENTOGR [ CODEVF == "" ] <- CBHPM [ CODEVF == "" ]
EVENTOGR [ EVENTOGR == "" ] <- EVENTOCD [ EVENTOGR == "" ]
EVENTOGR [ EVENTOGR == "vazio" ] <- EVENTOCD [ EVENTOGR == "vazio" ]


gustavoreis
Admin

Mensagens : 70
Data de inscrição : 01/03/2011
Idade : 32

Ver perfil do usuário http://estatisticanor.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Duvidas procedimentos SAS x R

Mensagem  JeanLeite em Seg Jul 02, 2012 4:58 pm

Era isto mesmo, funcinou perfeitamente!!!

Agora posso dizer que 80% do script de leitura dos dados está conforme necessito.

Este arquivo2 refere-se a um banco de despesas.
Preciso separar este banco apenas onde as despesas são maiores que zero (é o que se espera de um banco de despesas, mas infelismente tem despesas zeradas e com valores negativos), então fiz o seguinte comando:

sinistrados<- arquivo2[arquivo2$VLSIN > 0,]

Posterior, quero fazer um corte de um periodo de um ano pela data de ocorrencia da despesas, estou tentando o seguinte comando e tá dando erro, vc sabe o que devo fazer?

sinind1 = (sinistrados[sinistrados$DTOCOR > as.Date ("2010-12-31") & sinistrados$DTOCOR <= as.Date ("2011-12-31")])

Erro em `[.data.frame`(sinistrados, sinistrados$DTOCOR > as.Date("2010-12-31") & :
undefined columns selected


Obrigado!

JeanLeite

Mensagens : 14
Data de inscrição : 17/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvidas procedimentos SAS x R

Mensagem  gustavoreis em Ter Jul 03, 2012 1:19 pm

Antes de utilizar sinistrados$DTOCOR, você deve fazer com que o R reconheça-o como datas, algo assim:


sinistrados$DTOCOR<-as.Date(sinistrados$DTOCOR, parâmetros)

Onde eu coloquei parâmetros você deve preencher com os parâmetros que expliquei no tópico do link abaixo:

http://estatisticanor.forumeiros.com/t32-dicas-para-manipulacao-de-dados

gustavoreis
Admin

Mensagens : 70
Data de inscrição : 01/03/2011
Idade : 32

Ver perfil do usuário http://estatisticanor.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Duvidas procedimentos SAS x R

Mensagem  JeanLeite em Ter Jul 03, 2012 1:24 pm

Ok, já havia feito isso no inicio.
arquivo2$DTOCOR <- as.Date (arquivo2$DTOCOR, "%d/%m/%Y")

O erro deve ser no meu comando de pesquisa, vou estudar aqui mais um pouco sobre esses procedimentos.

Obrigado

JeanLeite

Mensagens : 14
Data de inscrição : 17/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvidas procedimentos SAS x R

Mensagem  JeanLeite em Ter Jul 03, 2012 2:25 pm

Realmente o erro era de sintaxe.

O comando certo é:

sinind1 <- sinistrados[sinistrados$DTOCOR > "2010-12-31" & sinistrados$DTOCOR <= "2011-12-31",]

pois o campo de data ja esta formato como data.

Dai quando separado da forma citada acima, somente no ano de 2011, aparece para todas as colunas o item:
NA's : 1

Quando peço a soma e summary da variavel numerica aparece a seguinte mensagem:

sum (sinind1$VLSIN)
[1] NA

summary (sinind1$VLSIN)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
0.01 4.77 18.00 40.71 42.60 55000.00 1

Acredito que surgiu esse NA's que não sei oq é por algum erro nos meus comandos.
Você tem alguma informação de como posso retirar isto ou proceder da forma correta?

Obrigado!



JeanLeite

Mensagens : 14
Data de inscrição : 17/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvidas procedimentos SAS x R

Mensagem  JeanLeite em Ter Jul 03, 2012 4:02 pm

Não consegui achar o motivo do erro acima, mas dai pensei tipo no evento complementar.
Existe uma variavel que é classificado apenas de duas formas, então fiz o seguinte:

sinind1 <- sinistrados[sinistrados$DTOCOR > as.Date ("2010-12-31") & sinistrados$DTOCOR <= as.Date ("2011-12-31"),]

sinind1$tipoevento <- vector("character", length=length(sinind1$TPEV)) #criando a variável tipo de evento#

sinind1$tipoevento [ sinind1$TPEV == 1 ] <- "ACIDENTE"
sinind1$tipoevento [ sinind1$TPEV == 2 ] <- "OCUPACIONAL"

sinind1$tipoevento <- as.factor (sinind1$tipoevento)

sinind1 <- sinind1[sinind1$tipoevento == "ACIDENTE" | sinind1$tipoevento == "OCUPACIONAL",]

Dai não aparece mais este NA's.

Não sei se isso é a forma mais fácil de corrigir isto...

JeanLeite

Mensagens : 14
Data de inscrição : 17/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvidas procedimentos SAS x R

Mensagem  gustavoreis em Ter Jul 03, 2012 9:39 pm

Esse NA aparece quando tem algum valor faltando (valor ausente). Pelo summary que você postou é apenas uma linha que está com problema, então acho que você deve identificar qual linha é essa e verificar no arquivo original (sinistrados) se essa linha já estava com essa falta (NA), se estiver você deve ir retrocedendo até chegar na origem da falta.

Com relação ao comando sum (sinind1$VLSIN), para que ele ignore esse valor NA e faça a soma normal você deve fazer a seguinte adaptação:

sum (sinind1$VLSIN, na.rm=T)

gustavoreis
Admin

Mensagens : 70
Data de inscrição : 01/03/2011
Idade : 32

Ver perfil do usuário http://estatisticanor.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Duvidas procedimentos SAS x R

Mensagem  JeanLeite em Qui Jul 05, 2012 4:44 pm

Boa tarde Gustavo,

Muito obrigado por todos seus esclarecimentos! Funcinou sim e foi de grande ajuda.

Vou estudar mais um pouco e ir desenvolvendo outros pontos que necessito. Se tiver mais alguma duvida eu postarei neste topico denovo pra não criar outro e agradeço pela sua colaboração. É muito bacana ter um forum pra discutir estes assuntos, meio que nós usuários do SAS e R não nos sentimos "abandonados" e temos alguém que entende para trocar experiências.

Abraço!

JeanLeite

Mensagens : 14
Data de inscrição : 17/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvidas procedimentos SAS x R

Mensagem  JeanLeite em Seg Jul 16, 2012 4:38 pm

Boa tarde Gustavo e demais,

Surgiu outras dúvidas na linguagem do R, agora trabalhando com datas, e se alguém souber e poder me ajudar por favor, segue descrito o meu primeiro problema.

Descrição de um Campo Data
- Campos que representam datas necessitam que sejam identificados pelo SAS através de um formato de leitura, e armazenados como numéricos;

- O valor numérico armazenado representa o número de dias em relação a uma data base SAS.

No SAS a leitura do campo data é da seguinte forma:





Ou seja, a data inicial armazenada no SAS é de 01/01/1960 que corresponde a 0. No SAS é armazenado como número, pois preciso realizar vários cálculos através de várias datas.

O primeiro passo que faço no SAS para analise dos dados é definir o período, conforme segue:





No R fiz de forma similar, como segue abaixo, # antes de cada linha é só para indicar como faço os comandos no R;

#INICIO = as.Date("01-01-2010", "%d-%m-%Y")
#MEIO = as.Date("01-07-2010", "%d-%m-%Y")
#FIM = as.Date("31-12-2010", "%d-%m-%Y")

# ADICIONO AS VARIAVEIS NO ARQUIVO #
#colarquivo1 <- data.frame(colarquivo1, INICIO, MEIO, FIM)

Posterior, crio duas variáveis as quais chamo de DATABASE1 e DATABASE2. Pensei que no R, para ficar similar, deveria proceder da seguinte forma:

DTBASE1 <- vector("character", length=length(INICIO)) #criando a variável DATABASE1#

*IF INICIO <= DATAIN <= FIM THEN DTBASE1 = DATAIN; (commando no SAS)

#DTBASE1 [INICIO <= DATAIN <= FIM] <- DATAIN [INICIO <= DATAIN <= FIM] (comando como imagino que deva ser no R)

Erro: '<=' inesperado em "DTBASE1 [INICIO <= DATAIN <=". Então pelo q vejo no R, não é desta forma que especifico por exemplo 'a <= x < b'

*ELSE IF DATAIN < INICIO THEN DTBASE1 = INICIO;

#DTBASE1 [DATAIN < INICIO] <- INICIO [DATAIN < INICIO]

*ELSE IF DATAIN > FIM AND DATAIN ^='.' THEN DTBASE1 = 0;

#DTBASE1 [DATAIN > FIM & DATAIN != NA] <- 0 [DATAIN > FIM & DATAIN != NA]

*ELSE DTBASE1 = INICIO;

#DTBASE1 <- INICIO


Alguém poderia me ajudar no que devo fazer pra ajustar meus comandos?

Obrigado!

JeanLeite

Mensagens : 14
Data de inscrição : 17/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

duvidas na programação

Mensagem  JeanLeite em Sex Out 05, 2012 4:02 pm

Boa tarde,

Continuo sem solução para a duvida postada no tópico acima, alguém sabe como resolver?

Abaixo segue a descrição do erro:





Desde já obrigado pela ajuda!

JeanLeite

Mensagens : 14
Data de inscrição : 17/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Duvidas procedimentos SAS x R

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum