[R-br] Eliminar NA e merge com colunas de dif tamanho
Eder David Borges da Silva
eder em leg.ufpr.br
Sábado Junho 11 10:53:47 BRT 2011
Alexandre,
acho que isso pode resolver:
teste <- read.table("teste.txt",sep=";", header=T, colClasses=c("Date",
"numeric","numeric","numeric","numeric","character","numeric","numeric","character",
"numeric","numeric","numeric","numeric"))
str(teste)
head(teste)
teste$Data = format(as.Date(teste$Data,'%d-%m-%y'))
dim(teste)
summary(teste)
current = as.Date("1975-01-01")
final = as.Date("1977-10-10")
Data_1 <- data.frame(Data=seq(from=current,to = final, 1))
teste1 <- teste[!is.na(teste$Data),]
teste1$Data <- as.factor(teste1$Data)
Data_1$Data <- as.factor(Data_1$Data)
Data_1$Var <- NA
dados.final <- merge(Data_1,teste1,by.x = "Data", by.y = "Data", all= TRUE)
dados.final <- dados.final[,-2]##retirando var
head(dados.final)
Att
Éder
Em 10 de junho de 2011 18:37, Alexandre Heinemann <abh900 em gmail.com>escreveu:
> Caros Colegas,
>
> Estou com um problema de programação no R.
>
> No seguinte arquivo:
> http://sharex.xpg.com.br/files/6386884446/teste.txt.html, a coluna 1
> representa a data. Essa data
> não considera os dias 31 dos respectivos meses. Nessa coluna Data ha NAs
> que representam datas inxistentes (30/2 e 29/2
> para os anos que esse não existe). Necessito eliminar as
> linhas que possuem NA (somente para a coluna Data).
>
> Após eliminar os NAs, necessito fazer um "merge" com um vetor criado abaixo
> Data_1. Esse vetor Data_1 representa
> as datas "reais", ou seja, o ano com 365 e ou 366 dias. Esse merge deve ser
> feito em função da coluna teste$Data, com a finalidade
> de criar as datas referentes aos dias 31, preenchendo com NA as restantes.
>
> A saída que eu espero é:
>
> Data prec_mm tmax_C tmin_C rad_W.m2 file_name
> Lat Long Cenario rad_MJ.m2 tmax_memo tmin_memo rad_memo
> 1977-08-30 3.40726e-06 36.9722 23.0109 279.2510 lat_0.5_lon_46.2_P.dat -0.5
> -46.2 P 24.127286 35.89341 22.94294 23.02423
> 1977-08-31 NA NA NA NA NA NA NA NA
> NA NA NA NA
> 1977-09-01 3.87843e-04 36.8744 23.0071 263.9960 lat_0.5_lon_46.2_P.dat -0.5
> -46.2 P 22.809254 36.51460 22.99073 23.90967
>
> O arquivo no qual estou trabalhando tem 1517400 linhas.
>
>
> http://sharex.xpg.com.br/files/6386884446/teste.txt.html (download)
> teste <- read.table("teste.txt",sep=";", header=T, colClasses=c("Date",
> "numeric","numeric","numeric","numeric","character","numeric","numeric","character",
> "numeric","numeric","numeric","numeric"))
> str(teste)
> head(teste)
> teste$Data = format(as.Date(teste$Data,'%d-%m-%y'))
> dim(teste)
>
> current = as.Date("1975-01-01")
> final = as.Date("1977-10-10")
> Data_1 <- seq(from=current,to = final, 1)
> length(Data_1)
>
> Obrigado,
>
> Alexandre
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20110611/4880a534/attachment.html>
Mais detalhes sobre a lista de discussão R-br