From: Luke
Hi Gabor, thanks a lot. I understand it now. But Andrew's method is
easier for me to understand. Can I extend my question? I have a data
file, every line has such format:
2:102 5:85 ...
The number before colon is data entry index, the number after colon is
data entry value, and other data entries are zero. I use scan to read
them in R and need to separate the index and value to different
vectors. For example:
foo2 <- strsplit(foo, split=":")
foo2
[[1]]
[1] "2" "102"
[[2]]
[1] "5" "85"
myIndex <- as.numeric(unlist(lapply(foo2, function(x) x[1])))
myIndex <- as.numeric(foo2, "[", 1)
myIndex
[1] "2" "5"
Is this the simplest way to get the index or value vector?
-Luke
On 5/16/05, Gabor Grothendieck <ggrothendieck at gmail.com> wrote:
Its the indexing function written in ordinary function
foo[1:2] can be written as "["(foo, 1:2)
On 5/16/05, Luke <jyzz88 at gmail.com> wrote:
Yes, it works. Althought I can understand the help page
don't know why it works. What is "["?
-Luke
On 5/16/05, Gabor Grothendieck <ggrothendieck at gmail.com> wrote:
On 5/16/05, Luke <jyzz88 at gmail.com> wrote:
I have a simple question, but I couldn't find the
foo <- list()
foo[[1]] <- c(1, 2, 3)
foo[[2]] <- c(11,22,33)
foo[[3]] <- c(111,222,333)
foo
[[1]]
[1] 1 2 3
[[2]]
[1] 11 22 33
[[3]]
[1] 111 222 333
How to use list index to get a vector of, say, the
list elements?
That is, how to get a vector c(1, 11, 111) from foo?
foo[[]][1] doesn't work.
Try this:
sapply(foo, "[", 1)