[R] List of data frame

Jim Lemon drj|m|emon @end|ng |rom gm@||@com
Fri Oct 18 05:04:49 CEST 2019


Hi ani,
Sorry, a typo in the function - should be:

makeNA(x)<-function(x,varname,value) {
 x[,varname][x[,varname]==value]<-NA
 return(x)
}

Jim

On Fri, Oct 18, 2019 at 2:01 PM Jim Lemon <drjimlemon using gmail.com> wrote:
>
> Hi ani,
> You say you want to replace 8888 with NA, so:
>
> # it will be easier if you don't use numbers for the names of the data frames
> names(test) <- paste0("Y",1986:2015)
> makeNA(x)<-function(x,varname,value) {
>  x[,varname][x[,varname]<-value]<-NA
>  return(x)
> }
> lapply(test,makeNA,list("RR",8888))
>
> Warning - untested
>
> Jim
>
> On Fri, Oct 18, 2019 at 12:38 PM ani jaya <gaaauul using gmail.com> wrote:
> >
> > Dear R-Help,
> >
> > I have a list of data frame that I import from excel file using read.xlsx
> > command.
> >
> > sheets <- openxlsx::getSheetNames("rainfall.xlsx")
> > test <- lapply(sheets,function(i) read.xlsx("rainfall.xlsx", sheet=i,
> > startRow=8, cols=1:2))
> > names(test) <- sprintf("%i", 1986:2015)
> >
> > And I got a data.frame with 365 rows and two columns contains date and
> > rainfall data.
> > There is a value in rainfall data that i want to change as NA (8888)
> >
> > test[1]$`1986`
> >        Date   RR
> > 1   01-01-1986    0
> > 2   02-01-1986    7
> > 3   03-01-1986   72
> > 4   04-01-1986    4
> > 5   05-01-1986   19
> > 6   06-01-1986    4
> > 7   07-01-1986   16
> > 8   08-01-1986   21
> > 9   09-01-1986   34
> > 10  10-01-1986   72
> > 11  11-01-1986   93
> > 12  12-01-1986  178
> > 13  13-01-1986   86
> > 14  14-01-1986   11
> > 15  15-01-1986    0
> > 16  16-01-1986   31
> > 17  17-01-1986   22
> > 18  18-01-1986   18
> > 19  19-01-1986    3
> > 20  20-01-1986    0
> > 21  21-01-1986   31
> > 22  22-01-1986   46
> > 23  23-01-1986    4
> > 24  24-01-1986   40
> > 25  25-01-1986   63
> > 26  26-01-1986  125
> > 27  27-01-1986   33
> > 28  28-01-1986   44
> > 29  29-01-1986    6
> > 30  30-01-1986    0
> > 31  31-01-1986    0
> > 32  01-02-1986    2
> > 33  02-02-1986   71
> > 34  03-02-1986 8888
> > 35  04-02-1986    0
> > 36  05-02-1986    0
> > 37  06-02-1986   56
> > 38  07-02-1986   19
> > 39  08-02-1986    3
> > 40  09-02-1986    7
> > 41  10-02-1986   24
> > 42  11-02-1986   55
> > 43  12-02-1986    0
> > 44  13-02-1986    0
> >
> >         [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help using 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.



More information about the R-help mailing list