Bastian Pöschl
2009-Feb-25 12:01 UTC
[R] read and reshape time series table with empty items
Dear useR's, I have a problem to read data (daily precipitation). The data are formated in months by columns wich leads to empty items in months with less then 31 days. What i did was reading the file and try to reshape the object a<- read.table("nds.txt", header=TRUE, sep=";", dec = ".", na.string="NA") ar<-reshape(a, timevar="month",varying=list(c("Jan","Febr","M?rz","April","Mai","Juni","Juli","Aug","Sept","Okt","Nov","Dez")),direction="long") My problem is: months are rowed instead of years (78Jan,79Jan,...,79Dec,80Dec) empty items (like Feb30 and Feb31) are filled with "NA" My aim is toget a simple data frame ore time series with format: Date,value 1979/4/1;0.6 1979/4/2;0.0 ... 1980/4/1;1.2 1980/4/1;1.3 1980/4/1;0.0 The data I've got have been excel tables for each year. I transformed them to a text file that looks like: #Precipitation in mm like in nds.txt "Jahr";"Tag";"Jan";"Febr";"M?rz";"April";"Mai";"Juni";"Juli";"Aug";"Sept";"Okt";"Nov";"Dez" 1978;1;"NA";"NA";"NA";0.0;5.5;0.0;11.8;0.0;2.4;6.4;0.0;0.0 1978;2;"NA";"NA";"NA";0.0;0.5;0.0;2.0;2.0;0.0;9.0;0.0;0.0 1978;3;"NA";"NA";"NA";0.3;0.0;3.0;3.2;0.4;0.0;24.7;0.0;0.0 1978;4;"NA";"NA";"NA";0.7;0.0;0.0;24.4;1.1;0.0;8.6;0.0;0.0 1978;5;"NA";"NA";"NA";11.8;2.2;0.0;17.0;0.0;0.0;0.0;0.0;0.0 1978;6;"NA";"NA";"NA";0.5;0.5;0.0;4.5;4.4;10.6;0.0;0.0;0.0 1978;7;"NA";"NA";"NA";0.0;6.5;0.0;0.5;29.0;9.4;0.0;0.0;0.0 1978;8;"NA";"NA";1.0;0.0;7.3;4.0;0.0;6.0;6.7;0.0;0.0;7.0 1978;9;"NA";"NA";4.0;0.3;2.0;3.5;2.7;0.4;2.9;0.0;0.0;0.0 1978;10;"NA";"NA";0.0;1.5;2.4;19.5;0.5;1.8;0.5;0.0;0.0;0.0 1978;11;"NA";"NA";3.8;9.0;2.8;0.0;4.0;0.0;0.0;0.0;0.0;0.0 1978;12;"NA";"NA";0.0;6.8;3.5;0.0;2.5;0.0;11.3;0.0;0.0;3.0 1978;13;"NA";"NA";1.3;2.8;5.4;3.8;2.3;3.4;0.5;0.0;0.0;1.0 1978;14;"NA";"NA";0.7;1.0;0.3;0.2;7.9;0.0;0.0;0.0;0.0;1.0 1978;15;"NA";"NA";3.7;2.7;4.8;0.0;4.2;0.0;0.0;0.0;0.0;0.0 1978;16;"NA";"NA";13.7;2.8;0.0;1.4;0.0;5.5;0.0;0.0;0.5;1.8 1978;17;"NA";"NA";0.0;1.5;3.8;2.3;0.0;2.3;0.0;3.5;0.0;0.0 1978;18;"NA";"NA";0.0;0.0;1.0;0.0;11.6;0.0;0.5;5.3;0.0;0.0 1978;19;"NA";"NA";1.0;0.0;7.0;0.0;1.1;0.0;0.0;0.0;0.0;4.0 1978;20;"NA";"NA";17.5;0.0;0.5;0.2;0.0;0.0;0.0;0.0;0.0;0.3 1978;21;"NA";"NA";1.0;1.5;4.5;0.0;2.6;0.0;0.0;0.0;0.0;0.7 1978;22;"NA";"NA";0.5;0.0;12.0;1.6;0.0;0.0;0.2;1.7;0.0;3.5 1978;23;"NA";"NA";4.0;0.5;5.8;5.8;0.0;0.0;13.0;3.7;0.0;1.3 1978;24;"NA";"NA";0.8;0.0;12.0;24.3;0.0;0.0;3.3;0.0;0.0;0.0 1978;25;"NA";"NA";0.0;0.0;0.0;4.4;0.0;0.0;0.0;0.0;0.0;0.0 1978;26;"NA";"NA";5.0;0.0;0.5;0.2;1.0;0.0;0.0;6.0;5.7;0.0 1978;27;"NA";"NA";2.2;6.0;0.0;1.3;9.8;0.0;2.3;3.0;2.9;0.0 1978;28;"NA";"NA";0.7;1.8;0.0;0.4;0.0;0.0;5.4;0.0;1.5;0.0 1978;29;"NA";;0.0;0.5;0.5;0.0;0.0;4.0;3.5;0.0;0.0;3.5 1978;30;"NA";;0.0;1.0;0.0;0.0;0.0;6.0;6.1;0.0;0.0;1.5 1978;31;"NA";;0.0;;0.0;;0.0;1.5;;0.0;;0.9 1979;1;3.5;1.0;0.5;"NA";"NA";0.1;0.0;0.5;0.0;0.0;0.0;0.0 1979;2;0.3;0.0;0.0;"NA";"NA";0.7;2.7;0.5;0.0;0.0;1.6;0.0 1979;3;0.5;2.7;0.0;"NA";"NA";0.0;3.0;2.5;1.0;0.0;1.0;0.0 1979;4;0.0;0.9;0.3;"NA";"NA";0.0;0.9;3.0;0.1;0.0;0.0;0.0 1979;5;0.0;2.2;0.0;"NA";"NA";0.0;0.0;0.0;0.0;0.6;3.5;0.0 1979;6;0.0;1.0;0.0;"NA";"NA";0.1;0.0;0.4;0.0;1.7;11.5;0.0 1979;7;0.0;1.0;0.0;"NA";"NA";1.0;0.6;0.0;0.0;0.0;5.0;0.0 1979;8;0.0;0.7;0.3;"NA";"NA";1.8;6.5;7.5;6.8;0.0;3.5;0.0 1979;9;3.5;1.8;0.8;"NA";"NA";0.2;9.3;2.2;4.3;0.0;6.5;0.9 1979;10;0.0;1.2;18.8;"NA";"NA";1.0;11.0;7.0;0.2;0.0;9.0;2.0 1979;11;1.2;1.0;7.8;"NA";"NA";3.4;0.0;1.4;0.0;0.3;0.0;12.0 1979;12;0.8;0.5;1.8;"NA";"NA";1.0;7.0;2.3;0.0;0.0;0.3;2.5 1979;13;1.4;0.0;0.0;"NA";"NA";3.2;3.0;0.0;0.0;5.3;0.0;0.0 1979;14;0.0;0.0;"NA";"NA";"NA";30.5;0.7;0.0;3.3;4.6;0.8;3.9 1979;15;0.0;13.5;"NA";"NA";"NA";1.4;0.0;0.0;2.2;19.0;8.0;3.4 1979;16;0.5;1.5;"NA";"NA";"NA";20.2;0.0;0.0;0.0;1.2;6.8;1.8 1979;17;0.5;5.5;"NA";"NA";"NA";14.8;4.0;5.5;0.0;11.1;9.8;1.4 1979;18;0.0;3.5;"NA";"NA";"NA";2.0;0.0;14.5;0.0;0.0;3.0;0.8 1979;19;0.0;0.0;"NA";"NA";"NA";0.0;4.0;0.0;0.0;0.0;6.0;4.0 1979;20;0.0;0.0;"NA";"NA";"NA";0.0;6.2;1.0;2.3;0.0;6.2;1.2 1979;21;0.0;0.0;"NA";"NA";"NA";0.0;0.0;0.0;36.0;0.0;1.0;4.0 1979;22;0.0;0.0;"NA";"NA";"NA";0.0;0.0;0.0;35.9;0.8;8.0;17.0 1979;23;2.3;0.0;"NA";"NA";"NA";0.0;0.0;1.5;4.6;5.8;0.0;3.0 1979;24;0.0;0.0;"NA";"NA";"NA";0.0;0.0;27.3;1.9;0.0;0.0;1.0 1979;25;0.5;0.0;"NA";"NA";"NA";0.7;0.0;0.8;0.0;0.0;0.0;0.0 1979;26;4.0;0.0;"NA";"NA";0.0;2.0;0.0;2.1;0.0;0.0;0.0;0.0 1979;27;11.5;0.0;"NA";"NA";4.5;3.6;0.0;0.0;0.0;0.0;4.0;0.0 1979;28;3.0;2.0;"NA";"NA";0.0;1.1;1.0;0.5;0.0;3.6;0.0;0.0 1979;29;0.8;;"NA";"NA";0.0;0.0;5.0;0.0;0.0;0.6;0.0;0.0 1979;30;0.8;;"NA";"NA";0.0;0.0;5.4;0.0;0.0;1.8;0.0;0.0 1979;31;0.4;;"NA";;1.7;;15.5;0.0;;0.4;;0.0 1980;1;"NA";"NA";"NA";"NA";"NA";0.6;0.0;0.0;1.0;0.0;0.0;"NA" 1980;2;"NA";"NA";"NA";"NA";"NA";0.5;0.0;0.0;0.0;1.5;0.0;"NA" 1980;3;"NA";"NA";"NA";"NA";"NA";0.7;3.6;0.0;0.0;0.0;0.0;"NA" 1980;4;"NA";"NA";"NA";"NA";"NA";17.2;0.0;6.5;0.0;0.0;2.2;"NA" 1980;5;"NA";"NA";"NA";"NA";"NA";0.0;0.0;0.0;0.0;0.0;0.7;"NA" 1980;6;"NA";"NA";"NA";"NA";"NA";0.5;0.0;0.0;6.4;0.0;"NA";"NA" 1980;7;"NA";"NA";"NA";"NA";0.0;0.0;2.3;0.0;0.0;0.5;"NA";"NA" 1980;8;"NA";"NA";"NA";"NA";2.3;2.3;2.8;10.5;0.0;10.5;"NA";"NA" 1980;9;"NA";"NA";"NA";"NA";6.7;2.2;21.0;0.0;3.8;7.8;"NA";"NA" 1980;10;"NA";"NA";"NA";"NA";0.9;2.7;3.5;0.0;2.2;2.3;"NA";"NA" 1980;11;"NA";"NA";"NA";"NA";0.9;1.2;0.3;0.0;4.0;3.4;"NA";"NA" 1980;12;"NA";"NA";"NA";"NA";0.0;0.0;0.0;5.0;0.0;1.5;"NA";"NA" 1980;13;"NA";"NA";"NA";"NA";0.0;0.0;3.5;0.0;0.0;0.0;"NA";"NA" 1980;14;"NA";"NA";"NA";"NA";8.3;0.0;0.0;0.0;0.0;0.0;"NA";"NA" 1980;15;"NA";"NA";"NA";"NA";19.0;2.0;0.5;1.3;0.0;0.0;"NA";"NA" 1980;16;"NA";"NA";"NA";"NA";2.3;0.5;0.0;6.7;0.0;6.5;"NA";"NA" 1980;17;"NA";"NA";"NA";"NA";2.4;23.3;0.0;4.4;0.0;50.5;"NA";"NA" 1980;18;"NA";"NA";"NA";"NA";0.5;1.2;0.0;0.0;0.0;6.5;"NA";"NA" 1980;19;"NA";"NA";"NA";"NA";0.0;0.0;0.0;0.0;0.0;1.5;"NA";"NA" 1980;20;"NA";"NA";"NA";"NA";0.0;0.5;9.5;2.2;0.0;0.0;"NA";"NA" 1980;21;"NA";"NA";"NA";"NA";1.2;8.5;14.0;4.3;0.0;0.0;"NA";"NA" 1980;22;"NA";"NA";"NA";"NA";0.4;11.0;0.0;0.5;0.0;0.0;"NA";"NA" 1980;23;"NA";"NA";"NA";"NA";0.5;5.0;0.0;0.2;8.3;0.0;"NA";"NA" 1980;24;"NA";"NA";"NA";"NA";0.2;5.5;0.0;0.0;0.0;2.0;"NA";"NA" 1980;25;"NA";"NA";"NA";"NA";0.5;0.7;0.0;0.0;0.0;19.0;"NA";"NA" 1980;26;"NA";"NA";"NA";"NA";0.0;0.3;0.0;0.0;0.0;0.5;"NA";"NA" 1980;27;"NA";"NA";"NA";"NA";0.0;9.0;0.0;0.0;0.0;0.0;"NA";"NA" 1980;28;"NA";"NA";"NA";"NA";2.1;0.0;0.0;2.1;0.0;0.0;"NA";"NA" 1980;29;"NA";"NA";"NA";"NA";1.9;0.0;6.9;2.0;0.0;0.0;"NA";"NA" 1980;30;"NA";;"NA";"NA";0.9;0.0;1.6;2.8;0.0;0.0;"NA";"NA" 1980;31;"NA";;"NA";;1.1;;0.0;2.2;;0.0;;"NA" I hope someone has got experience with such data format and can help me. Thank you very much Bastian P?schl
Gabor Grothendieck
2009-Feb-25 19:38 UTC
[R] read and reshape time series table with empty items
Try this: Lines <- '"Jahr";"Tag";"Jan";"Febr";"M?rz";"April";"Mai";"Juni";"Juli";"Aug";"Sept";"Okt";"Nov";"Dez" 1978;1;"NA";"NA";"NA";0.0;5.5;0.0;11.8;0.0;2.4;6.4;0.0;0.0 1978;2;"NA";"NA";"NA";0.0;0.5;0.0;2.0;2.0;0.0;9.0;0.0;0.0 1978;3;"NA";"NA";"NA";0.3;0.0;3.0;3.2;0.4;0.0;24.7;0.0;0.0 1978;4;"NA";"NA";"NA";0.7;0.0;0.0;24.4;1.1;0.0;8.6;0.0;0.0 1978;5;"NA";"NA";"NA";11.8;2.2;0.0;17.0;0.0;0.0;0.0;0.0;0.0 1978;6;"NA";"NA";"NA";0.5;0.5;0.0;4.5;4.4;10.6;0.0;0.0;0.0 1978;7;"NA";"NA";"NA";0.0;6.5;0.0;0.5;29.0;9.4;0.0;0.0;0.0 1978;8;"NA";"NA";1.0;0.0;7.3;4.0;0.0;6.0;6.7;0.0;0.0;7.0 1978;9;"NA";"NA";4.0;0.3;2.0;3.5;2.7;0.4;2.9;0.0;0.0;0.0 1978;10;"NA";"NA";0.0;1.5;2.4;19.5;0.5;1.8;0.5;0.0;0.0;0.0 1978;11;"NA";"NA";3.8;9.0;2.8;0.0;4.0;0.0;0.0;0.0;0.0;0.0 1978;12;"NA";"NA";0.0;6.8;3.5;0.0;2.5;0.0;11.3;0.0;0.0;3.0 1978;13;"NA";"NA";1.3;2.8;5.4;3.8;2.3;3.4;0.5;0.0;0.0;1.0 1978;14;"NA";"NA";0.7;1.0;0.3;0.2;7.9;0.0;0.0;0.0;0.0;1.0 1978;15;"NA";"NA";3.7;2.7;4.8;0.0;4.2;0.0;0.0;0.0;0.0;0.0 1978;16;"NA";"NA";13.7;2.8;0.0;1.4;0.0;5.5;0.0;0.0;0.5;1.8 1978;17;"NA";"NA";0.0;1.5;3.8;2.3;0.0;2.3;0.0;3.5;0.0;0.0 1978;18;"NA";"NA";0.0;0.0;1.0;0.0;11.6;0.0;0.5;5.3;0.0;0.0 1978;19;"NA";"NA";1.0;0.0;7.0;0.0;1.1;0.0;0.0;0.0;0.0;4.0 1978;20;"NA";"NA";17.5;0.0;0.5;0.2;0.0;0.0;0.0;0.0;0.0;0.3 1978;21;"NA";"NA";1.0;1.5;4.5;0.0;2.6;0.0;0.0;0.0;0.0;0.7 1978;22;"NA";"NA";0.5;0.0;12.0;1.6;0.0;0.0;0.2;1.7;0.0;3.5 1978;23;"NA";"NA";4.0;0.5;5.8;5.8;0.0;0.0;13.0;3.7;0.0;1.3 1978;24;"NA";"NA";0.8;0.0;12.0;24.3;0.0;0.0;3.3;0.0;0.0;0.0 1978;25;"NA";"NA";0.0;0.0;0.0;4.4;0.0;0.0;0.0;0.0;0.0;0.0 1978;26;"NA";"NA";5.0;0.0;0.5;0.2;1.0;0.0;0.0;6.0;5.7;0.0 1978;27;"NA";"NA";2.2;6.0;0.0;1.3;9.8;0.0;2.3;3.0;2.9;0.0 1978;28;"NA";"NA";0.7;1.8;0.0;0.4;0.0;0.0;5.4;0.0;1.5;0.0 1978;29;"NA";;0.0;0.5;0.5;0.0;0.0;4.0;3.5;0.0;0.0;3.5 1978;30;"NA";;0.0;1.0;0.0;0.0;0.0;6.0;6.1;0.0;0.0;1.5 1978;31;"NA";;0.0;;0.0;;0.0;1.5;;0.0;;0.9 1979;1;3.5;1.0;0.5;"NA";"NA";0.1;0.0;0.5;0.0;0.0;0.0;0.0 1979;2;0.3;0.0;0.0;"NA";"NA";0.7;2.7;0.5;0.0;0.0;1.6;0.0 1979;3;0.5;2.7;0.0;"NA";"NA";0.0;3.0;2.5;1.0;0.0;1.0;0.0 1979;4;0.0;0.9;0.3;"NA";"NA";0.0;0.9;3.0;0.1;0.0;0.0;0.0 1979;5;0.0;2.2;0.0;"NA";"NA";0.0;0.0;0.0;0.0;0.6;3.5;0.0 1979;6;0.0;1.0;0.0;"NA";"NA";0.1;0.0;0.4;0.0;1.7;11.5;0.0 1979;7;0.0;1.0;0.0;"NA";"NA";1.0;0.6;0.0;0.0;0.0;5.0;0.0 1979;8;0.0;0.7;0.3;"NA";"NA";1.8;6.5;7.5;6.8;0.0;3.5;0.0 1979;9;3.5;1.8;0.8;"NA";"NA";0.2;9.3;2.2;4.3;0.0;6.5;0.9 1979;10;0.0;1.2;18.8;"NA";"NA";1.0;11.0;7.0;0.2;0.0;9.0;2.0 1979;11;1.2;1.0;7.8;"NA";"NA";3.4;0.0;1.4;0.0;0.3;0.0;12.0 1979;12;0.8;0.5;1.8;"NA";"NA";1.0;7.0;2.3;0.0;0.0;0.3;2.5 1979;13;1.4;0.0;0.0;"NA";"NA";3.2;3.0;0.0;0.0;5.3;0.0;0.0 1979;14;0.0;0.0;"NA";"NA";"NA";30.5;0.7;0.0;3.3;4.6;0.8;3.9 1979;15;0.0;13.5;"NA";"NA";"NA";1.4;0.0;0.0;2.2;19.0;8.0;3.4 1979;16;0.5;1.5;"NA";"NA";"NA";20.2;0.0;0.0;0.0;1.2;6.8;1.8 1979;17;0.5;5.5;"NA";"NA";"NA";14.8;4.0;5.5;0.0;11.1;9.8;1.4 1979;18;0.0;3.5;"NA";"NA";"NA";2.0;0.0;14.5;0.0;0.0;3.0;0.8 1979;19;0.0;0.0;"NA";"NA";"NA";0.0;4.0;0.0;0.0;0.0;6.0;4.0 1979;20;0.0;0.0;"NA";"NA";"NA";0.0;6.2;1.0;2.3;0.0;6.2;1.2 1979;21;0.0;0.0;"NA";"NA";"NA";0.0;0.0;0.0;36.0;0.0;1.0;4.0 1979;22;0.0;0.0;"NA";"NA";"NA";0.0;0.0;0.0;35.9;0.8;8.0;17.0 1979;23;2.3;0.0;"NA";"NA";"NA";0.0;0.0;1.5;4.6;5.8;0.0;3.0 1979;24;0.0;0.0;"NA";"NA";"NA";0.0;0.0;27.3;1.9;0.0;0.0;1.0 1979;25;0.5;0.0;"NA";"NA";"NA";0.7;0.0;0.8;0.0;0.0;0.0;0.0 1979;26;4.0;0.0;"NA";"NA";0.0;2.0;0.0;2.1;0.0;0.0;0.0;0.0 1979;27;11.5;0.0;"NA";"NA";4.5;3.6;0.0;0.0;0.0;0.0;4.0;0.0 1979;28;3.0;2.0;"NA";"NA";0.0;1.1;1.0;0.5;0.0;3.6;0.0;0.0 1979;29;0.8;;"NA";"NA";0.0;0.0;5.0;0.0;0.0;0.6;0.0;0.0 1979;30;0.8;;"NA";"NA";0.0;0.0;5.4;0.0;0.0;1.8;0.0;0.0 1979;31;0.4;;"NA";;1.7;;15.5;0.0;;0.4;;0.0 1980;1;"NA";"NA";"NA";"NA";"NA";0.6;0.0;0.0;1.0;0.0;0.0;"NA" 1980;2;"NA";"NA";"NA";"NA";"NA";0.5;0.0;0.0;0.0;1.5;0.0;"NA" 1980;3;"NA";"NA";"NA";"NA";"NA";0.7;3.6;0.0;0.0;0.0;0.0;"NA" 1980;4;"NA";"NA";"NA";"NA";"NA";17.2;0.0;6.5;0.0;0.0;2.2;"NA" 1980;5;"NA";"NA";"NA";"NA";"NA";0.0;0.0;0.0;0.0;0.0;0.7;"NA" 1980;6;"NA";"NA";"NA";"NA";"NA";0.5;0.0;0.0;6.4;0.0;"NA";"NA" 1980;7;"NA";"NA";"NA";"NA";0.0;0.0;2.3;0.0;0.0;0.5;"NA";"NA" 1980;8;"NA";"NA";"NA";"NA";2.3;2.3;2.8;10.5;0.0;10.5;"NA";"NA" 1980;9;"NA";"NA";"NA";"NA";6.7;2.2;21.0;0.0;3.8;7.8;"NA";"NA" 1980;10;"NA";"NA";"NA";"NA";0.9;2.7;3.5;0.0;2.2;2.3;"NA";"NA" 1980;11;"NA";"NA";"NA";"NA";0.9;1.2;0.3;0.0;4.0;3.4;"NA";"NA" 1980;12;"NA";"NA";"NA";"NA";0.0;0.0;0.0;5.0;0.0;1.5;"NA";"NA" 1980;13;"NA";"NA";"NA";"NA";0.0;0.0;3.5;0.0;0.0;0.0;"NA";"NA" 1980;14;"NA";"NA";"NA";"NA";8.3;0.0;0.0;0.0;0.0;0.0;"NA";"NA" 1980;15;"NA";"NA";"NA";"NA";19.0;2.0;0.5;1.3;0.0;0.0;"NA";"NA" 1980;16;"NA";"NA";"NA";"NA";2.3;0.5;0.0;6.7;0.0;6.5;"NA";"NA" 1980;17;"NA";"NA";"NA";"NA";2.4;23.3;0.0;4.4;0.0;50.5;"NA";"NA" 1980;18;"NA";"NA";"NA";"NA";0.5;1.2;0.0;0.0;0.0;6.5;"NA";"NA" 1980;19;"NA";"NA";"NA";"NA";0.0;0.0;0.0;0.0;0.0;1.5;"NA";"NA" 1980;20;"NA";"NA";"NA";"NA";0.0;0.5;9.5;2.2;0.0;0.0;"NA";"NA" 1980;21;"NA";"NA";"NA";"NA";1.2;8.5;14.0;4.3;0.0;0.0;"NA";"NA" 1980;22;"NA";"NA";"NA";"NA";0.4;11.0;0.0;0.5;0.0;0.0;"NA";"NA" 1980;23;"NA";"NA";"NA";"NA";0.5;5.0;0.0;0.2;8.3;0.0;"NA";"NA" 1980;24;"NA";"NA";"NA";"NA";0.2;5.5;0.0;0.0;0.0;2.0;"NA";"NA" 1980;25;"NA";"NA";"NA";"NA";0.5;0.7;0.0;0.0;0.0;19.0;"NA";"NA" 1980;26;"NA";"NA";"NA";"NA";0.0;0.3;0.0;0.0;0.0;0.5;"NA";"NA" 1980;27;"NA";"NA";"NA";"NA";0.0;9.0;0.0;0.0;0.0;0.0;"NA";"NA" 1980;28;"NA";"NA";"NA";"NA";2.1;0.0;0.0;2.1;0.0;0.0;"NA";"NA" 1980;29;"NA";"NA";"NA";"NA";1.9;0.0;6.9;2.0;0.0;0.0;"NA";"NA" 1980;30;"NA";;"NA";"NA";0.9;0.0;1.6;2.8;0.0;0.0;"NA";"NA" 1980;31;"NA";;"NA";;1.1;;0.0;2.2;;0.0;;"NA"' # DF <- read.csv2("myfile", as.is = TRUE) DF <- read.csv2(textConnection(Lines), as.is = TRUE) # convert to long form (or use reshape package) L <- na.omit(reshape(DF, dir = "long", idvar = 1:2, varying = list(colnames(DF)[-(1:2)]))) L$Date <- as.Date(ISOdate(L[[1]], L[[3]], L[[2]])) L <- na.omit(L) # create a zoo object and plot it library(zoo) z <- zoo(as.numeric(L[[4]]), L$Date) plot(z) On Wed, Feb 25, 2009 at 7:01 AM, Bastian P?schl <rotate at gmx.li> wrote:> Dear useR's, > I have a problem to read data (daily precipitation). > The data are formated in months by columns wich leads to empty items in > months with less then 31 days. > > What i did was reading the file and try to reshape the object > > a<- read.table("nds.txt", header=TRUE, sep=";", dec = ".", > na.string="NA") > ar<-reshape(a, > timevar="month",varying=list(c("Jan","Febr","M?rz","April","Mai","Juni","Juli","Aug","Sept","Okt","Nov","Dez")),direction="long") > > My problem is: > months are rowed instead of years (78Jan,79Jan,...,79Dec,80Dec) > empty items (like Feb30 and Feb31) are filled with "NA" > > My aim is toget a simple data frame ore time series with format: > > Date,value > 1979/4/1;0.6 > 1979/4/2;0.0 > ... > 1980/4/1;1.2 > 1980/4/1;1.3 > 1980/4/1;0.0 > > The data I've got have been excel tables for each year. I transformed > them to a text file that looks like: > > #Precipitation in mm like in nds.txt > "Jahr";"Tag";"Jan";"Febr";"M?rz";"April";"Mai";"Juni";"Juli";"Aug";"Sept";"Okt";"Nov";"Dez" > 1978;1;"NA";"NA";"NA";0.0;5.5;0.0;11.8;0.0;2.4;6.4;0.0;0.0 > 1978;2;"NA";"NA";"NA";0.0;0.5;0.0;2.0;2.0;0.0;9.0;0.0;0.0 > 1978;3;"NA";"NA";"NA";0.3;0.0;3.0;3.2;0.4;0.0;24.7;0.0;0.0 > 1978;4;"NA";"NA";"NA";0.7;0.0;0.0;24.4;1.1;0.0;8.6;0.0;0.0 > 1978;5;"NA";"NA";"NA";11.8;2.2;0.0;17.0;0.0;0.0;0.0;0.0;0.0 > 1978;6;"NA";"NA";"NA";0.5;0.5;0.0;4.5;4.4;10.6;0.0;0.0;0.0 > 1978;7;"NA";"NA";"NA";0.0;6.5;0.0;0.5;29.0;9.4;0.0;0.0;0.0 > 1978;8;"NA";"NA";1.0;0.0;7.3;4.0;0.0;6.0;6.7;0.0;0.0;7.0 > 1978;9;"NA";"NA";4.0;0.3;2.0;3.5;2.7;0.4;2.9;0.0;0.0;0.0 > 1978;10;"NA";"NA";0.0;1.5;2.4;19.5;0.5;1.8;0.5;0.0;0.0;0.0 > 1978;11;"NA";"NA";3.8;9.0;2.8;0.0;4.0;0.0;0.0;0.0;0.0;0.0 > 1978;12;"NA";"NA";0.0;6.8;3.5;0.0;2.5;0.0;11.3;0.0;0.0;3.0 > 1978;13;"NA";"NA";1.3;2.8;5.4;3.8;2.3;3.4;0.5;0.0;0.0;1.0 > 1978;14;"NA";"NA";0.7;1.0;0.3;0.2;7.9;0.0;0.0;0.0;0.0;1.0 > 1978;15;"NA";"NA";3.7;2.7;4.8;0.0;4.2;0.0;0.0;0.0;0.0;0.0 > 1978;16;"NA";"NA";13.7;2.8;0.0;1.4;0.0;5.5;0.0;0.0;0.5;1.8 > 1978;17;"NA";"NA";0.0;1.5;3.8;2.3;0.0;2.3;0.0;3.5;0.0;0.0 > 1978;18;"NA";"NA";0.0;0.0;1.0;0.0;11.6;0.0;0.5;5.3;0.0;0.0 > 1978;19;"NA";"NA";1.0;0.0;7.0;0.0;1.1;0.0;0.0;0.0;0.0;4.0 > 1978;20;"NA";"NA";17.5;0.0;0.5;0.2;0.0;0.0;0.0;0.0;0.0;0.3 > 1978;21;"NA";"NA";1.0;1.5;4.5;0.0;2.6;0.0;0.0;0.0;0.0;0.7 > 1978;22;"NA";"NA";0.5;0.0;12.0;1.6;0.0;0.0;0.2;1.7;0.0;3.5 > 1978;23;"NA";"NA";4.0;0.5;5.8;5.8;0.0;0.0;13.0;3.7;0.0;1.3 > 1978;24;"NA";"NA";0.8;0.0;12.0;24.3;0.0;0.0;3.3;0.0;0.0;0.0 > 1978;25;"NA";"NA";0.0;0.0;0.0;4.4;0.0;0.0;0.0;0.0;0.0;0.0 > 1978;26;"NA";"NA";5.0;0.0;0.5;0.2;1.0;0.0;0.0;6.0;5.7;0.0 > 1978;27;"NA";"NA";2.2;6.0;0.0;1.3;9.8;0.0;2.3;3.0;2.9;0.0 > 1978;28;"NA";"NA";0.7;1.8;0.0;0.4;0.0;0.0;5.4;0.0;1.5;0.0 > 1978;29;"NA";;0.0;0.5;0.5;0.0;0.0;4.0;3.5;0.0;0.0;3.5 > 1978;30;"NA";;0.0;1.0;0.0;0.0;0.0;6.0;6.1;0.0;0.0;1.5 > 1978;31;"NA";;0.0;;0.0;;0.0;1.5;;0.0;;0.9 > 1979;1;3.5;1.0;0.5;"NA";"NA";0.1;0.0;0.5;0.0;0.0;0.0;0.0 > 1979;2;0.3;0.0;0.0;"NA";"NA";0.7;2.7;0.5;0.0;0.0;1.6;0.0 > 1979;3;0.5;2.7;0.0;"NA";"NA";0.0;3.0;2.5;1.0;0.0;1.0;0.0 > 1979;4;0.0;0.9;0.3;"NA";"NA";0.0;0.9;3.0;0.1;0.0;0.0;0.0 > 1979;5;0.0;2.2;0.0;"NA";"NA";0.0;0.0;0.0;0.0;0.6;3.5;0.0 > 1979;6;0.0;1.0;0.0;"NA";"NA";0.1;0.0;0.4;0.0;1.7;11.5;0.0 > 1979;7;0.0;1.0;0.0;"NA";"NA";1.0;0.6;0.0;0.0;0.0;5.0;0.0 > 1979;8;0.0;0.7;0.3;"NA";"NA";1.8;6.5;7.5;6.8;0.0;3.5;0.0 > 1979;9;3.5;1.8;0.8;"NA";"NA";0.2;9.3;2.2;4.3;0.0;6.5;0.9 > 1979;10;0.0;1.2;18.8;"NA";"NA";1.0;11.0;7.0;0.2;0.0;9.0;2.0 > 1979;11;1.2;1.0;7.8;"NA";"NA";3.4;0.0;1.4;0.0;0.3;0.0;12.0 > 1979;12;0.8;0.5;1.8;"NA";"NA";1.0;7.0;2.3;0.0;0.0;0.3;2.5 > 1979;13;1.4;0.0;0.0;"NA";"NA";3.2;3.0;0.0;0.0;5.3;0.0;0.0 > 1979;14;0.0;0.0;"NA";"NA";"NA";30.5;0.7;0.0;3.3;4.6;0.8;3.9 > 1979;15;0.0;13.5;"NA";"NA";"NA";1.4;0.0;0.0;2.2;19.0;8.0;3.4 > 1979;16;0.5;1.5;"NA";"NA";"NA";20.2;0.0;0.0;0.0;1.2;6.8;1.8 > 1979;17;0.5;5.5;"NA";"NA";"NA";14.8;4.0;5.5;0.0;11.1;9.8;1.4 > 1979;18;0.0;3.5;"NA";"NA";"NA";2.0;0.0;14.5;0.0;0.0;3.0;0.8 > 1979;19;0.0;0.0;"NA";"NA";"NA";0.0;4.0;0.0;0.0;0.0;6.0;4.0 > 1979;20;0.0;0.0;"NA";"NA";"NA";0.0;6.2;1.0;2.3;0.0;6.2;1.2 > 1979;21;0.0;0.0;"NA";"NA";"NA";0.0;0.0;0.0;36.0;0.0;1.0;4.0 > 1979;22;0.0;0.0;"NA";"NA";"NA";0.0;0.0;0.0;35.9;0.8;8.0;17.0 > 1979;23;2.3;0.0;"NA";"NA";"NA";0.0;0.0;1.5;4.6;5.8;0.0;3.0 > 1979;24;0.0;0.0;"NA";"NA";"NA";0.0;0.0;27.3;1.9;0.0;0.0;1.0 > 1979;25;0.5;0.0;"NA";"NA";"NA";0.7;0.0;0.8;0.0;0.0;0.0;0.0 > 1979;26;4.0;0.0;"NA";"NA";0.0;2.0;0.0;2.1;0.0;0.0;0.0;0.0 > 1979;27;11.5;0.0;"NA";"NA";4.5;3.6;0.0;0.0;0.0;0.0;4.0;0.0 > 1979;28;3.0;2.0;"NA";"NA";0.0;1.1;1.0;0.5;0.0;3.6;0.0;0.0 > 1979;29;0.8;;"NA";"NA";0.0;0.0;5.0;0.0;0.0;0.6;0.0;0.0 > 1979;30;0.8;;"NA";"NA";0.0;0.0;5.4;0.0;0.0;1.8;0.0;0.0 > 1979;31;0.4;;"NA";;1.7;;15.5;0.0;;0.4;;0.0 > 1980;1;"NA";"NA";"NA";"NA";"NA";0.6;0.0;0.0;1.0;0.0;0.0;"NA" > 1980;2;"NA";"NA";"NA";"NA";"NA";0.5;0.0;0.0;0.0;1.5;0.0;"NA" > 1980;3;"NA";"NA";"NA";"NA";"NA";0.7;3.6;0.0;0.0;0.0;0.0;"NA" > 1980;4;"NA";"NA";"NA";"NA";"NA";17.2;0.0;6.5;0.0;0.0;2.2;"NA" > 1980;5;"NA";"NA";"NA";"NA";"NA";0.0;0.0;0.0;0.0;0.0;0.7;"NA" > 1980;6;"NA";"NA";"NA";"NA";"NA";0.5;0.0;0.0;6.4;0.0;"NA";"NA" > 1980;7;"NA";"NA";"NA";"NA";0.0;0.0;2.3;0.0;0.0;0.5;"NA";"NA" > 1980;8;"NA";"NA";"NA";"NA";2.3;2.3;2.8;10.5;0.0;10.5;"NA";"NA" > 1980;9;"NA";"NA";"NA";"NA";6.7;2.2;21.0;0.0;3.8;7.8;"NA";"NA" > 1980;10;"NA";"NA";"NA";"NA";0.9;2.7;3.5;0.0;2.2;2.3;"NA";"NA" > 1980;11;"NA";"NA";"NA";"NA";0.9;1.2;0.3;0.0;4.0;3.4;"NA";"NA" > 1980;12;"NA";"NA";"NA";"NA";0.0;0.0;0.0;5.0;0.0;1.5;"NA";"NA" > 1980;13;"NA";"NA";"NA";"NA";0.0;0.0;3.5;0.0;0.0;0.0;"NA";"NA" > 1980;14;"NA";"NA";"NA";"NA";8.3;0.0;0.0;0.0;0.0;0.0;"NA";"NA" > 1980;15;"NA";"NA";"NA";"NA";19.0;2.0;0.5;1.3;0.0;0.0;"NA";"NA" > 1980;16;"NA";"NA";"NA";"NA";2.3;0.5;0.0;6.7;0.0;6.5;"NA";"NA" > 1980;17;"NA";"NA";"NA";"NA";2.4;23.3;0.0;4.4;0.0;50.5;"NA";"NA" > 1980;18;"NA";"NA";"NA";"NA";0.5;1.2;0.0;0.0;0.0;6.5;"NA";"NA" > 1980;19;"NA";"NA";"NA";"NA";0.0;0.0;0.0;0.0;0.0;1.5;"NA";"NA" > 1980;20;"NA";"NA";"NA";"NA";0.0;0.5;9.5;2.2;0.0;0.0;"NA";"NA" > 1980;21;"NA";"NA";"NA";"NA";1.2;8.5;14.0;4.3;0.0;0.0;"NA";"NA" > 1980;22;"NA";"NA";"NA";"NA";0.4;11.0;0.0;0.5;0.0;0.0;"NA";"NA" > 1980;23;"NA";"NA";"NA";"NA";0.5;5.0;0.0;0.2;8.3;0.0;"NA";"NA" > 1980;24;"NA";"NA";"NA";"NA";0.2;5.5;0.0;0.0;0.0;2.0;"NA";"NA" > 1980;25;"NA";"NA";"NA";"NA";0.5;0.7;0.0;0.0;0.0;19.0;"NA";"NA" > 1980;26;"NA";"NA";"NA";"NA";0.0;0.3;0.0;0.0;0.0;0.5;"NA";"NA" > 1980;27;"NA";"NA";"NA";"NA";0.0;9.0;0.0;0.0;0.0;0.0;"NA";"NA" > 1980;28;"NA";"NA";"NA";"NA";2.1;0.0;0.0;2.1;0.0;0.0;"NA";"NA" > 1980;29;"NA";"NA";"NA";"NA";1.9;0.0;6.9;2.0;0.0;0.0;"NA";"NA" > 1980;30;"NA";;"NA";"NA";0.9;0.0;1.6;2.8;0.0;0.0;"NA";"NA" > 1980;31;"NA";;"NA";;1.1;;0.0;2.2;;0.0;;"NA" > > I hope someone has got experience with such data format and can help me. > Thank you very much > > Bastian P?schl > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >