You might try

do.call(rbind, lapply(yourlist, "[", 1:4))
Thanks, Jorge, but when I tried this I simply got a matrix of character strings rather than my original list of character strings as in:
m = do.call(rbind, lapply(ls, "[", 1:4))
m
     [,1]      [,2]  [,3]  [,4]
[1,] "Focused" "10k" "A12" "t04.tif"
[2,] "Focused" "10k" "A12" "t08.tif"
[3,] "Focused" "10k" "A12" "t12.tif"
[4,] "Focused" "10k" "A12" "t16.tif"
[5,] "Focused" "10k" "A12" "t20.tif"
[6,] "Focused" "10k" "A12" "t24.tif"
[7,] "Focused" "10k" "A12" "t36.tif"
[8,] "Focused" "10k" "A12" "t48.tif"
[9,] "Focused" "10k" "B12" "t04.tif"
[10,] "Focused" "10k" "B12" "t08.tif"

What I want to end up with is a vector that is the row-wise concatenation of the strings in each row of your matrix or each element of my original list. I thought the cat() function should get me part way there, but as I indicated below, there seem to be a parsing issue of some sort the way I'm using it.



ls is a list of character vectors created by strsplit()

I want to concatenate the 1st 4 character elements of each list item as a
new vector called file.  I admit to being confused about list syntax even
after numerous readings.

Here's what I tried:

ls <- list(c("Focused", "10k", "A12", "t04.tif", "+", "µm"), c("Focused",
"10k", "A12", "t08.tif", "+", "µm"), c("Focused", "10k", "A12",
"t12.tif", "+", "µm"), c("Focused", "10k", "A12", "t16.tif",
"+", "µm"), c("Focused", "10k", "A12", "t20.tif", "+", "µm"),
   c("Focused", "10k", "A12", "t24.tif", "+", "µm"), c("Focused",
   "10k", "A12", "t36.tif", "+", "µm"), c("Focused", "10k",
   "A12", "t48.tif", "+", "µm"), c("Focused", "10k", "B12",
   "t04.tif", "+", "µm"), c("Focused", "10k", "B12", "t08.tif",
   "+", "µm"))

# Test the waters with one element
cat(unlist(ls[1])[1:4])      # WHY DOES THE COMMAND PROMPT NOT APPEAR ON
NEXT LINE AS USUAL???

# Appears to work except for command prompt glitch

# Attempts to use tapply() don't get me anywhere
file <- tapply(unlist(ls), list(1:length(unlist(ls))),
cat(unlist(ls[1])[1:4]))

I'm grateful for an approach to putting my vector together, but I'd also
love to understand the headache I've apparently given the command parser.
 I'm apparently doing some "no no".

Thanks,

Rob

> R.Version()
$platform
[1] "i386-pc-mingw32"

$arch
[1] "i386"

$os
[1] "mingw32"

$system
[1] "i386, mingw32"

$status
[1] ""

$major
[1] "2"

$minor
[1] "12.1"

$year
[1] "2010"

$month
[1] "12"

$day
[1] "16"

$`svn rev`
[1] "53855"

$language
[1] "R"

$version.string
[1] "R version 2.12.1 (2010-12-16)"


       [[alternative HTML version deleted]]


______________________________________________
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]]





______________________________________________
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.


______________________________________________
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.

Reply via email to