On 18/10/19 2:43 PM, ani jaya 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). So my
question is how to change those value in all the data frame?

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
.
.
.

Should I extract the data frame from the list one by one?

Try (something like):

revisedTest <- lapply(test,function(x){x$RR[x$RR==8888] <- NA; x})

Or, using Bert Gunter's slick is.na() trick:

revisedTest <- lapply(test,function(x){is.na(x$RR) <- x$RR==8888; x})

(Note:  not tested.)

cheers,

Rolf Turner

--
Honorary Research Fellow
Department of Statistics
University of Auckland
Phone: +64-9-373-7599 ext. 88276

______________________________________________
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.

Reply via email to