Message-ID: <f49fcd831001310220i30fdf61dja7d21aa0183b43ee@mail.gmail.com>
Date: 2010-01-31T10:20:08Z
From: johannes rara
Subject: For loop into a vectorized form?
In-Reply-To: <6EBF2DA2-A7AD-4954-938E-CFFC91A7BAD1@comcast.net>
Exactly, thanks!
-jrara
2010/1/30 David Winsemius <dwinsemius at comcast.net>:
>
> On Jan 29, 2010, at 9:31 AM, johannes rara wrote:
>
>> How to vectorize this for loop and how can I assign result to vector
>> instead of using print function?
>
>> as.vector( sapply(mylist$a, function(x)
> ? ? ? ? ? ? ? ? ? ? ? ? ? sapply(mylist$b, function (y)
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? { c(x, ?y, mylist[[3]]) }
> ? ? ? ? ? ?) ) )
>
> ?[1] "a" "A" "1" "2" "3" "a" "B" "1" "2" "3" "a" "C" "1" "2" "3" "b" "A" "1"
> "2" "3" "b" "B" "1" "2"
> [25] "3" "b" "C" "1" "2" "3" "c" "A" "1" "2" "3" "c" "B" "1" "2" "3" "c" "C"
> "1" "2" "3"
>
> You did say you wanted a vector, right?
>
> --
> David.
>
>>
>> mylist <- list(a = letters[1:3], b = LETTERS[1:3], c = c("1", "2", "3"))
>>
>> for (i in seq_along(mylist[[1]])) {
>> ? ?for (j in seq_along(mylist[[2]])) {
>> ? ? ? print(mylist[[1]][i])
>> ? ? ? print(mylist[[2]][j])
>> ? ? ? print(mylist[[3]])
>> ? ?}
>> }
>>
>>
>> Run version:
>>
>>> mylist <- list(a = letters[1:3], b = LETTERS[1:3], c = c("1", "2", "3"))
>>> mylist
>>
>> $a
>> [1] "a" "b" "c"
>>
>> $b
>> [1] "A" "B" "C"
>>
>> $c
>> [1] "1" "2" "3"
>>
>>> for (i in seq_along(mylist[[1]])) {
>>
>> + ? ? ?for (j in seq_along(mylist[[2]])) {
>> + ? ? ? ? print(mylist[[1]][i])
>> + ? ? ? ? print(mylist[[2]][j])
>> + ? ? ? ? print(mylist[[3]])
>> + ? ? ?}
>> + }
>> [1] "a"
>> [1] "A"
>> [1] "1" "2" "3"
>> [1] "a"
>> [1] "B"
>> [1] "1" "2" "3"
>> [1] "a"
>> [1] "C"
>> [1] "1" "2" "3"
>> [1] "b"
>> [1] "A"
>> [1] "1" "2" "3"
>> [1] "b"
>> [1] "B"
>> [1] "1" "2" "3"
>> [1] "b"
>> [1] "C"
>> [1] "1" "2" "3"
>> [1] "c"
>> [1] "A"
>> [1] "1" "2" "3"
>> [1] "c"
>> [1] "B"
>> [1] "1" "2" "3"
>> [1] "c"
>> [1] "C"
>> [1] "1" "2" "3"
>>>
>>
>> ______________________________________________
>> R-help at r-project.org 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.
>
> David Winsemius, MD
> Heritage Laboratories
> West Hartford, CT
>
>