Hi all, I have the following named list:> print(y)$`200052_s_at` [1] -1066.975 -1063.893 -1062.815 -1062.121 -1059.004 $`200071_at` [1] -959.823 -953.980 -953.886 -948.781 -974.890 $`200084_at` [1] -1135.804 -1132.863 -1128.197 -1128.633 -1125.890 What I want to do is to iterate this name list and process its members. To do that I attempt the following code (but failed): __BEGIN__ ny <- names(y) for (i in ny) { val <- paste("`",i,"`",sep="") print(y$val) # later we want to process y$val } __END__ However the after printing it gives "NULL". What's wrong with my code above? - Gundala Viswanath Jakarta - Indonesia
'lapply' is your friend: lapply(y, function(.element) {...process each element of the list....})> y <- list(a=1:10, b=letters, c=LETTERS) > invisible(lapply(y, function(.ele) {print(.ele); cat("------\n")}))[1] 1 2 3 4 5 6 7 8 9 10 ------ [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" [25] "y" "z" ------ [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" [25] "Y" "Z" ------>On Tue, Aug 5, 2008 at 10:16 AM, Gundala Viswanath <gundalav at gmail.com> wrote:> Hi all, > > I have the following named list: > >> print(y) > $`200052_s_at` > [1] -1066.975 -1063.893 -1062.815 -1062.121 -1059.004 > > $`200071_at` > [1] -959.823 -953.980 -953.886 -948.781 -974.890 > > $`200084_at` > [1] -1135.804 -1132.863 -1128.197 -1128.633 -1125.890 > > > What I want to do is to iterate this name list and process its members. > To do that I attempt the following code (but failed): > > __BEGIN__ > ny <- names(y) > > for (i in ny) { > val <- paste("`",i,"`",sep="") > print(y$val) > > # later we want to process y$val > } > > __END__ > However the after printing it gives "NULL". > What's wrong with my code above? > > > - Gundala Viswanath > Jakarta - Indonesia > > ______________________________________________ > 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. >-- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve?
There is one useful trick with `backticks` you probably didn't try yet: ?`$` And right after that, try: ?`[[` It is important to read both of these documents :) Kenn On Tue, Aug 5, 2008 at 5:16 PM, Gundala Viswanath <gundalav@gmail.com>wrote:> Hi all, > > I have the following named list: > > > print(y) > $`200052_s_at` > [1] -1066.975 -1063.893 -1062.815 -1062.121 -1059.004 > > $`200071_at` > [1] -959.823 -953.980 -953.886 -948.781 -974.890 > > $`200084_at` > [1] -1135.804 -1132.863 -1128.197 -1128.633 -1125.890 > > > What I want to do is to iterate this name list and process its members. > To do that I attempt the following code (but failed): > > __BEGIN__ > ny <- names(y) > > for (i in ny) { > val <- paste("`",i,"`",sep="") > print(y$val) > > # later we want to process y$val > } > > __END__ > However the after printing it gives "NULL". > What's wrong with my code above? > > > - Gundala Viswanath > Jakarta - Indonesia > > ______________________________________________ > R-help@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. >[[alternative HTML version deleted]]