From: Dimitris Rizopoulos <dimitris.rizopoulos_at_med.kuleuven.be>

Date: Wed 24 Jan 2007 - 15:48:37 GMT

Dimitris Rizopoulos

Ph.D. Student

Biostatistical Centre

School of Public Health

Catholic University of Leuven

R-help@stat.math.ethz.ch 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. Received on Thu Jan 25 15:00:34 2007

Date: Wed 24 Jan 2007 - 15:48:37 GMT

you need to return x in the function within lapply(), e.g., something like

lapply(TP, function(x) { x[is.na(x)] <- 0; x })

I hope it works.

Best,

Dimitris

Dimitris Rizopoulos

Ph.D. Student

Biostatistical Centre

School of Public Health

Catholic University of Leuven

Address: Kapucijnenvoer 35, Leuven, Belgium

Tel: +32/(0)16/336899 Fax: +32/(0)16/337015 Web: http://med.kuleuven.be/biostat/ http://www.student.kuleuven.be/~m0390867/dimitris.htm

- Original Message ----- From: "Doran, Harold" <HDoran@air.org> To: <r-help@stat.math.ethz.ch> Sent: Wednesday, January 24, 2007 4:40 PM Subject: [R] Replace missing values in lapply

>I have some matrices stored as elements in a list that I am working

*> with. On example is provided below as TP[[18]]
**>
**>> TP[[18]]
**> level2
**> level1 1 2 3 4
**> 1 79 0 0 0
**> 2 0 0 0 0
**> 3 0 0 0 0
**> 4 0 0 0 0
**>
**> Now, using prop.table on this gives
**>
**>> prop.table(TP[[18]],1)
**> level2
**> level1 1 2 3 4
**> 1 1 0 0 0
**> 2
**> 3
**> 4
**>
**> It is important for the zero's to retain their position as this
**> matrix
**> will subsequently be used in some matrix multiplication and hence,
**> must
**> be of dimension 4 by 4 so that is it conformable for multiplcation
**> with
**> another matrix.
**>
**> In looking at the structure of the object resulting from prop.table
**> I
**> see NaNs, and so I can do this
**>
**>> rr <- TP[[18]]
**>> rr[is.na(rr)] <- 0
**>> rr
**> level2
**> level1 1 2 3 4
**> 1 79 0 0 0
**> 2 0 0 0 0
**> 3 0 0 0 0
**> 4 0 0 0 0
**>
**> This is exactly what I want for each matrix. But, I have multiple
**> matrices stored within the list that need to be changed and so I am
**> trying to resolve this via lapply, but something is awry (namely the
**> user), but I could use a little help.
**>
**> I was thinking the following function should work, but it doesn't.
**> It
**> reduces each matrix within the list to a 0.
**>
**> PP <- lapply(TP, function(x) x[is.na(x)] <- 0)
**>
**> Am I missing something obvious?
**>
**> Harold
**>
**>
**> [[alternative HTML version deleted]]
**>
**> ______________________________________________
**> R-help@stat.math.ethz.ch 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.
**>
*

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm

R-help@stat.math.ethz.ch 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. Received on Thu Jan 25 15:00:34 2007

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.1.8, at Thu 25 Jan 2007 - 04:30:34 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*