# Re: [R] using lapply()

From: dxc13 <dxc13_at_health.state.ny.us>
Date: Tue, 8 Jan 2008 10:06:24 -0800 (PST)

Thank you, this works perfectly!

Dimitris Rizopoulos wrote:

>
> try the following:
>
> delta <- c(2.5, 2.5, 1)
> v <- list(
>     matrix(round(rnorm(70, 2), 2), 5, 14),
>     matrix(round(rnorm(70, 2), 2), 5, 14),
>     matrix(round(rnorm(70, 2), 1), 5, 14)
> )
>
> v
> mapply(function(x, y){ x[x > y] <- NA; x }, v, delta, SIMPLIFY =
> FALSE)
>
>
> I hope it helps.
>
> 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: "dxc13" <dxc13_at_health.state.ny.us>
> To: <r-help_at_r-project.org>
> Sent: Tuesday, January 08, 2008 6:11 PM
> Subject: [R] using lapply()
>
>

>>
>> useR's,
>>
>> I am trying to find a quick way to change some values in a list that
>> are
>> subject to a condition to be NA. Consider the 3x1 matrix:
>>
>> delta <- matrix(c(2.5,2.5,1), nrow = 1)
>>
>> And consider the list named v that has 3 elements
>>> v
>> v[[1]]
>> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
>> [,11] [,12]
>> [,13] [,14]
>> [1,] 4.25 3.25 2.25 1.25 0.25 0.75 1.75 2.75 3.75 4.25 3.25 2.25
>> 1.25
>> 0.25
>> [2,] 1.25 0.25 0.75 1.75 2.75 3.75 4.75 5.75 6.75 1.25 0.25 0.75
>> 1.75
>> 2.75
>> [3,] 7.25 6.25 5.25 4.25 3.25 2.25 1.25 0.25 0.75 7.25 6.25 5.25
>> 4.25
>> 3.25
>> [4,] 3.25 2.25 1.25 0.25 0.75 1.75 2.75 3.75 4.75 3.25 2.25 1.25
>> 0.25
>> 0.75
>> [5,] 6.25 5.25 4.25 3.25 2.25 1.25 0.25 0.75 1.75 6.25 5.25 4.25
>> 3.25
>> 2.25
>>
>> v[[2]]
>> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11]
>> [,12]
>> [,13] [,14]
>> [1,] 9.25 9.25 9.25 9.25 9.25 9.25 9.25 9.25 9.25 8.25 8.25 8.25
>> 8.25
>> 8.25
>> [2,] 7.25 7.25 7.25 7.25 7.25 7.25 7.25 7.25 7.25 6.25 6.25 6.25
>> 6.25
>> 6.25
>> [3,] 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 1.25 0.25 0.25 0.25
>> 0.25
>> 0.25
>> [4,] 4.25 4.25 4.25 4.25 4.25 4.25 4.25 4.25 4.25 3.25 3.25 3.25
>> 3.25
>> 3.25
>> [5,] 6.25 6.25 6.25 6.25 6.25 6.25 6.25 6.25 6.25 5.25 5.25 5.25
>> 5.25
>> 5.25
>>
>> v[[3]]
>> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11]
>> [,12] [,13]
>> [,14]
>> [1,] 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
>> 0.5
>> 0.5
>> [2,] 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5
>> 1.5
>> 1.5
>> [3,] 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5
>> 2.5
>> 2.5
>> [4,] 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5
>> 3.5
>> 3.5
>> [5,] 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5 4.5
>> 4.5
>> 4.5
>>
>> The first element of the matrix delta (2.5) corresponds to the first
>> list
>> element v[[1]], and so on...
>>
>> What I want to do is to set any values in this list that are greater
>> than
>> its corresponding delta to be NA. For example, if any value in
>> v[[1]] is
>> greater than 2.5 than set it to NA, and similarly for v[[2]]. If
>> any value
>> in v[[3]] is > 1, then set it NA.
>>
>> Can this be done using lapply or some other quick, efficient way?
>> Hope this
>> makes sense.
>> Thanks,
>>
>> Derek
>> --
>> View this message in context:
>> http://www.nabble.com/using-lapply%28%29-tp14693921p14693921.html
>> Sent from the R help mailing list archive at Nabble.com.
>>
>> ______________________________________________
>> R-help_at_r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> 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_at_r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
>

--
View this message in context: http://www.nabble.com/using-lapply%28%29-tp14693921p14695366.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help