Hi I did not get through all answers you already got and you probably obtained similar advice as mine.
# read data (if you have csv file just use read.csv) > test<-read.table("clipboard", header=T, sep=",") # control your object(s) > str(test) 'data.frame': 8 obs. of 4 variables: $ date: Factor w/ 8 levels "10/1/1998 0:00",..: 1 2 3 4 5 6 7 8 $ str1: num 0.6 0.2 0.6 0 0 0 0 0.2 $ str2: num 0 0.2 0.2 0 0 0 0 0 $ str3: num 0 0.2 0.4 0.6 0 0 0 0 #if it is OK change first column to real date by POSIXct test$date<-as.POSIXct(test$date, format="%d/%m/%Y %H:%M") #attach lubridate > library(lubridate) # aggregate your object(s) and use lubridate function > aggregate(test[,-1], list(day(test$date)), mean) Group.1 str1 str2 str3 1 10 0.2 0.05 0.15 # or format function > aggregate(test[,-1], list(format(test$date, "%Y-%m-%d")), mean) Group.1 str1 str2 str3 1 1998-01-10 0.2 0.05 0.15 If it does not work with your data you should post at least result of str(yourdata) or preferably dput(yourdata[1:20,]) Cheers Petr > -----Original Message----- > From: R-help <r-help-boun...@r-project.org> On Behalf Of Diego Avesani > Sent: Wednesday, August 1, 2018 8:55 AM > To: Jeff Newmiller <jdnew...@dcn.davis.ca.us> > Cc: r-help mailing list <r-help@r-project.org> > Subject: Re: [R] read txt file - date - no space > > Dear all, > I am sorry, I did a lot of confusion. I am sorry, I have to relax and stat > all again > in order to understand. > If I could I would like to start again, without mixing strategy and waiting > for > your advice. > > I am really appreciate you help, really really. > Here my new file, a *.csv file (buy the way, it is possible to attach it in > the > mailing list?) > > date,str1,str2,str3 > 10/1/1998 0:00,0.6,0,0 > 10/1/1998 1:00,0.2,0.2,0.2 > 10/1/1998 2:00,0.6,0.2,0.4 > 10/1/1998 3:00,0,0,0.6 > 10/1/1998 4:00,0,0,0 > 10/1/1998 5:00,0,0,0 > 10/1/1998 6:00,0,0,0 > 10/1/1998 7:00,0.2,0,0 > > > I read it as: > MyData <- read.csv(file="obs_prec.csv",header=TRUE, sep=",") > > at this point I would like to have the daily mean. > What would you suggest? > > Really Really thanks, > You are my lifesaver > > Thanks > > > > Diego > > > On 1 August 2018 at 01:01, Jeff Newmiller <jdnew...@dcn.davis.ca.us> wrote: > > > ... and the most common source of NA values in time data is wrong > > timezones. You really need to make sure the timezone that is assumed > > when the character data are converted to POSIXt agrees with the data. > > In most cases the easiest way to insure this is to use > > > > Sys.setenv(TZ="US/Pacific") > > > > or whatever timezone from > > > > OlsonNames() > > > > corresponds with your data. Execute this setenv function before the > > strptime or as.POSIXct() function call. > > > > You can use > > > > MyData[ is.na(MyData$datetime), ] > > > > to see which records are failing to convert time. > > > > [1] https://github.com/jdnewmil/eci298sp2016/blob/master/QuickHowto1 > > > > On July 31, 2018 3:04:05 PM PDT, Jim Lemon <drjimle...@gmail.com> > wrote: > > >Hi Diego, > > >I think the error is due to NA values in your data file. If I extend > > >your example and run it, I get no errors: > > > > > >MyData<-read.table(text="103001930 103001580 103001530 > > >1998-10-01 00:00:00 0.6 0 0 > > >1998-10-01 01:00:00 0.2 0.2 0.2 > > >1998-10-01 02:00:00 0.6 0.2 0.4 > > >1998-10-01 03:00:00 0 0 0.6 > > >1998-10-01 04:00:00 0 0 0 > > >1998-10-01 05:00:00 0 0 0 > > >1998-10-01 06:00:00 0 0 0 > > >1998-10-01 07:00:00 0.2 0 0 > > >1998-10-01 08:00:00 0.6 0 0 > > >1998-10-01 09:00:00 0.2 0.2 0.2 > > >1998-10-01 10:00:00 0.6 0.2 0.4 > > >1998-10-01 11:00:00 0 0 0.6 > > >1998-10-01 12:00:00 0 0 0 > > >1998-10-01 13:00:00 0 0 0 > > >1998-10-01 14:00:00 0 0 0 > > >1998-10-01 15:00:00 0.2 0 0 > > >1998-10-01 16:00:00 0.6 0 0 > > >1998-10-01 17:00:00 0.2 0.2 0.2 > > >1998-10-01 18:00:00 0.6 0.2 0.4 > > >1998-10-01 19:00:00 0 0 0.6 > > >1998-10-01 20:00:00 0 0 0 > > >1998-10-01 21:00:00 0 0 0 > > >1998-10-01 22:00:00 0 0 0 > > >1998-10-01 23:00:00 0.2 0 0 > > >1998-10-02 00:00:00 0.6 0 0 > > >1998-10-02 01:00:00 0.2 0.2 0.2 > > >1998-10-02 02:00:00 0.6 0.2 0.4 > > >1998-10-02 03:00:00 0 0 0.6 > > >1998-10-02 04:00:00 0 0 0 > > >1998-10-02 05:00:00 0 0 0 > > >1998-10-02 06:00:00 0 0 0 > > >1998-10-02 07:00:00 0.2 0 0 > > >1998-10-02 08:00:00 0.6 0 0 > > >1998-10-02 09:00:00 0.2 0.2 0.2 > > >1998-10-02 10:00:00 0.6 0.2 0.4 > > >1998-10-02 11:00:00 0 0 0.6 > > >1998-10-02 12:00:00 0 0 0 > > >1998-10-02 13:00:00 0 0 0 > > >1998-10-02 14:00:00 0 0 0 > > >1998-10-02 15:00:00 0.2 0 0 > > >1998-10-02 16:00:00 0.6 0 0 > > >1998-10-02 17:00:00 0.2 0.2 0.2 > > >1998-10-02 18:00:00 0.6 0.2 0.4 > > >1998-10-02 19:00:00 0 0 0.6 > > >1998-10-02 20:00:00 0 0 0 > > >1998-10-02 21:00:00 0 0 0 > > >1998-10-02 22:00:00 0 0 0 > > >1998-10-02 23:00:00 0.2 0 0", > > >skip=1,stringsAsFactors=FALSE) > > >names(MyData)<-c("date","time","st1","st2","st3") > > >MyData$datetime<-strptime(paste(MyData$date,MyData$time), > > > format="%Y-%m-%d %H:%M:%S") > > >MyData$datetime > > >st1_daily<-by(MyData$st1,MyData$date,mean) > > >st2_daily<-by(MyData$st2,MyData$date,mean) > > >st3_daily<-by(MyData$st3,MyData$date,mean) > > >st1_daily > > >st2_daily > > >st3_daily > > > > > >Try adding na.rm=TRUE to the "by" calls: > > > > > >st1_daily<-by(MyData$st1,MyData$date,mean,na.rm=TRUE) > > >st2_daily<-by(MyData$st2,MyData$date,mean,na.rm=TRUE) > > >st3_daily<-by(MyData$st3,MyData$date,mean,na.rm=TRUE) > > > > > >Jim > > > > > >On Tue, Jul 31, 2018 at 11:11 PM, Diego Avesani > > ><diego.aves...@gmail.com> wrote: > > >> Dear all, > > >> > > >> I have still problem with date. > > >> Could you please tel me how to use POSIXct. > > >> Indeed I have found this command: > > >> timeAverage, but I am not able to convert MyDate to properly date. > > >> > > >> Thank a lot > > >> I hope to no bother you, at least too much > > >> > > >> > > >> Diego > > >> > > >> > > >> On 31 July 2018 at 11:12, Diego Avesani <diego.aves...@gmail.com> > > >wrote: > > >>> > > >>> Dear Jim, Dear all, > > >>> > > >>> thanks a lot. > > >>> > > >>> Unfortunately, I get the following error: > > >>> > > >>> > > >>> st1_daily<-by(MyData$st1,MyData$date,mean) > > >>> Error in tapply(seq_len(0L), list(`MyData$date` = c(913L, 914L, > > >925L, : > > >>> arguments must have same length > > >>> > > >>> > > >>> This is particularly strange. indeed, if I apply > > >>> > > >>> > > >>> mean(MyData$str1,na.rm=TRUE) > > >>> > > >>> > > >>> it works > > >>> > > >>> > > >>> Sorry, I have to learn a lot. > > >>> You are really boosting me > > >>> > > >>> Diego > > >>> > > >>> > > >>> On 31 July 2018 at 11:02, Jim Lemon <drjimle...@gmail.com> wrote: > > >>>> > > >>>> Hi Diego, > > >>>> One way you can get daily means is: > > >>>> > > >>>> st1_daily<-by(MyData$st1,MyData$date,mean) > > >>>> st2_daily<-by(MyData$st2,MyData$date,mean) > > >>>> st3_daily<-by(MyData$st3,MyData$date,mean) > > >>>> > > >>>> Jim > > >>>> > > >>>> On Tue, Jul 31, 2018 at 6:51 PM, Diego Avesani > > ><diego.aves...@gmail.com> > > >>>> wrote: > > >>>> > Dear all, > > >>>> > I have found the error, my fault. Sorry. > > >>>> > There was an extra come in the headers line. > > >>>> > Thanks again. > > >>>> > > > >>>> > If I can I would like to ask you another questions about the > > >imported > > >>>> > data. > > >>>> > I would like to compute the daily average of the different date. > > >>>> > Basically I > > >>>> > have hourly data, I would like to ave the daily mean of them. > > >>>> > > > >>>> > Is there some special commands? > > >>>> > > > >>>> > Thanks a lot. > > >>>> > > > >>>> > > > >>>> > Diego > > >>>> > > > >>>> > > > >>>> > On 31 July 2018 at 10:40, Diego Avesani > > >>>> > <diego.aves...@gmail.com> > > >>>> > wrote: > > >>>> >> > > >>>> >> Dear all, > > >>>> >> I move to csv file because originally the date where in csv > > >file. > > >>>> >> In addition, due to the fact that, as you told me, read.csv is > > >>>> >> a special case of read.table, I prefer start to learn from the > > >>>> >> simplest > > >one. > > >>>> >> After that, I will try also the *.txt format. > > >>>> >> > > >>>> >> with read.csv, something strange happened: > > >>>> >> > > >>>> >> This us now the file: > > >>>> >> > > >>>> >> date,st1,st2,st3, > > >>>> >> 10/1/1998 0:00,0.6,0,0 > > >>>> >> 10/1/1998 1:00,0.2,0.2,0.2 > > >>>> >> 10/1/1998 2:00,0.6,0.2,0.4 > > >>>> >> 10/1/1998 3:00,0,0,0.6 > > >>>> >> 10/1/1998 4:00,0,0,0 > > >>>> >> 10/1/1998 5:00,0,0,0 > > >>>> >> 10/1/1998 6:00,0,0,0 > > >>>> >> 10/1/1998 7:00,0.2,0,0 > > >>>> >> 10/1/1998 8:00,0.6,0.2,0 > > >>>> >> 10/1/1998 9:00,0.2,0.4,0.4 > > >>>> >> 10/1/1998 10:00,0,0.4,0.2 > > >>>> >> > > >>>> >> When I apply: > > >>>> >> MyData <- read.csv(file="obs_prec.csv",header=TRUE, sep=",") > > >>>> >> > > >>>> >> this is the results: > > >>>> >> > > >>>> >> 10/1/1998 0:00 0.6 0.00 0.0 NA > > >>>> >> 2 10/1/1998 1:00 0.2 0.20 0.2 NA > > >>>> >> 3 10/1/1998 2:00 0.6 0.20 0.4 NA > > >>>> >> 4 10/1/1998 3:00 0.0 0.00 0.6 NA > > >>>> >> 5 10/1/1998 4:00 0.0 0.00 0.0 NA > > >>>> >> 6 10/1/1998 5:00 0.0 0.00 0.0 NA > > >>>> >> 7 10/1/1998 6:00 0.0 0.00 0.0 NA > > >>>> >> 8 10/1/1998 7:00 0.2 0.00 0.0 NA > > >>>> >> > > >>>> >> I do not understand why. > > >>>> >> Something wrong with date? > > >>>> >> > > >>>> >> really really thanks, > > >>>> >> I appreciate a lot all your helps. > > >>>> >> > > >>>> >> Diedro > > >>>> >> > > >>>> >> > > >>>> >> Diego > > >>>> >> > > >>>> >> > > >>>> >> On 31 July 2018 at 01:25, MacQueen, Don <macque...@llnl.gov> > > >wrote: > > >>>> >>> > > >>>> >>> Or, without removing the first line > > >>>> >>> dadf <- read.table("xxx.txt", stringsAsFactors=FALSE, > > >>>> >>> skip=1) > > >>>> >>> > > >>>> >>> Another alternative, > > >>>> >>> dadf$datetime <- as.POSIXct(paste(dadf$V1,dadf$V2)) > > >>>> >>> since the dates appear to be in the default format. > > >>>> >>> (I generally prefer to work with datetimes in POSIXct class > > >rather > > >>>> >>> than > > >>>> >>> POSIXlt class) > > >>>> >>> > > >>>> >>> -Don > > >>>> >>> > > >>>> >>> -- > > >>>> >>> Don MacQueen > > >>>> >>> Lawrence Livermore National Laboratory > > >>>> >>> 7000 East Ave., L-627 > > >>>> >>> Livermore, CA 94550 > > >>>> >>> 925-423-1062 > > >>>> >>> Lab cell 925-724-7509 > > >>>> >>> > > >>>> >>> > > >>>> >>> > > >>>> >>> On 7/30/18, 4:03 PM, "R-help on behalf of Jim Lemon" > > >>>> >>> <r-help-boun...@r-project.org on behalf of > > >drjimle...@gmail.com> > > >>>> >>> wrote: > > >>>> >>> > > >>>> >>> Hi Diego, > > >>>> >>> You may have to do some conversion as you have three > > >>>> >>> fields > > >in > > >>>> >>> the > > >>>> >>> first line using the default space separator and five > > >fields in > > >>>> >>> subsequent lines. If the first line doesn't contain any > > >important > > >>>> >>> data > > >>>> >>> you can just delete it or replace it with a meaningful > > >header > > >>>> >>> line > > >>>> >>> with five fields and save the file under another name. > > >>>> >>> > > >>>> >>> It looks as thought you have date-time as two fields. If > > >so, you > > >>>> >>> can > > >>>> >>> just read the first field if you only want the date: > > >>>> >>> > > >>>> >>> # assume you have removed the first line > > >>>> >>> dadf<-read.table("xxx.txt",stringsAsFactors=FALSE > > >>>> >>> dadf$date<-as.Date(dadf$V1,format="%Y-%m-%d") > > >>>> >>> > > >>>> >>> If you want the date/time: > > >>>> >>> > > >>>> >>> > > >dadf$datetime<-strptime(paste(dadf$V1,dadf$V2),format="%Y-%m-%d > > >>>> >>> %H:%M:%S") > > >>>> >>> > > >>>> >>> Jim > > >>>> >>> > > >>>> >>> On Tue, Jul 31, 2018 at 12:29 AM, Diego Avesani > > >>>> >>> <diego.aves...@gmail.com> wrote: > > >>>> >>> > Dear all, > > >>>> >>> > > > >>>> >>> > I am dealing with the reading of a *.txt file. > > >>>> >>> > The txt file the following shape: > > >>>> >>> > > > >>>> >>> > 103001930 103001580 103001530 > > >>>> >>> > 1998-10-01 00:00:00 0.6 0 0 > > >>>> >>> > 1998-10-01 01:00:00 0.2 0.2 0.2 > > >>>> >>> > 1998-10-01 02:00:00 0.6 0.2 0.4 > > >>>> >>> > 1998-10-01 03:00:00 0 0 0.6 > > >>>> >>> > 1998-10-01 04:00:00 0 0 0 > > >>>> >>> > 1998-10-01 05:00:00 0 0 0 > > >>>> >>> > 1998-10-01 06:00:00 0 0 0 > > >>>> >>> > 1998-10-01 07:00:00 0.2 0 0 > > >>>> >>> > > > >>>> >>> > If it is possible I have a coupe of questions, which > > >>>> >>> will > > >sound > > >>>> >>> stupid but > > >>>> >>> > they are important to me in order to understand ho R > > >>>> >>> deal > > >with > > >>>> >>> file > > >>>> >>> or date. > > >>>> >>> > > > >>>> >>> > 1) Do I have to convert it to a *csv file? > > >>>> >>> > 2) Can a deal with space and not "," > > >>>> >>> > 3) How can I read date? > > >>>> >>> > > > >>>> >>> > thanks a lot to all of you, > > >>>> >>> > Thanks > > >>>> >>> > > > >>>> >>> > > > >>>> >>> > Diego > > >>>> >>> > > > >>>> >>> > [[alternative HTML version deleted]] > > >>>> >>> > > > >>>> >>> > ______________________________________________ > > >>>> >>> > R-help@r-project.org mailing list -- To UNSUBSCRIBE and > > >more, > > >>>> >>> see > > >>>> >>> > 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. > > >>>> >>> > > >>>> >>> ______________________________________________ > > >>>> >>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and > > >more, see > > >>>> >>> 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. > > >>>> >>> > > >>>> >>> > > >>>> >> > > >>>> > > > >>> > > >>> > > >> > > > > > >______________________________________________ > > >R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > > >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. > > > > -- > > Sent from my phone. Please excuse my brevity. > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. Osobní údaje: Informace o zpracování a ochraně osobních údajů obchodních partnerů PRECHEZA a.s. jsou zveřejněny na: https://www.precheza.cz/zasady-ochrany-osobnich-udaju/ | Information about processing and protection of business partner’s personal data are available on website: https://www.precheza.cz/en/personal-data-protection-principles/ Důvěrnost: Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a podléhají tomuto právně závaznému prohláąení o vyloučení odpovědnosti: https://www.precheza.cz/01-dovetek/ | This email and any documents attached to it may be confidential and are subject to the legally binding disclaimer: https://www.precheza.cz/en/01-disclaimer/ ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.