On Mon, 17 Aug 2009 12:24:28 +0200, deanj2k <dl...@le.ac.uk> wrote:
Hello.
I have a vector and within that vector is one expression. When I display
this vector it comes up as
expression(NA_character_, NA_character_, "Null Effect", "Pooled effect",
NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, paste("Het Contours ", I^2, sep = ""), 0.4,
0.41, 0.42, 0.45, NA_character_)
Where the part in bold is the element which is an expression. How do I
change this vector to a standard format what I can manipulate in the
usual
way?
Dude, I have no idea what kind of analysis you are mastering, but that
kind of output does not smell good. Inside the expression you have a
nested expression, so you have to iterate over.
Here is a way to proceed:
te <- expression(NA_character_, NA_character_, "Null Effect", "Pooled
effect",
NA_character_, NA_character_, NA_character_, NA_character_,
NA_character_, paste("Het Contours ", I^2, sep = ""), 0.4,
0.41, 0.42, 0.45, NA_character_)
I <- 3
tl <- lapply(as.list(te), eval, envir=parent.frame())
str(tl)
List of 15
$ : chr NA
$ : chr NA
$ : chr "Null Effect"
$ : chr "Pooled effect"
$ : chr NA
$ : chr NA
$ : chr NA
$ : chr NA
$ : chr NA
$ : chr "Het Contours 9"
$ : num 0.4
$ : num 0.41
$ : num 0.42
$ : num 0.45
$ : chr NA
or if you want unevaluated paste expression just:
as.list(te)
[[1]]
[1] NA
[[2]]
[1] NA
[[3]]
[1] "Null Effect"
[[4]]
[1] "Pooled effect"
[[5]]
[1] NA
[[6]]
[1] NA
[[7]]
[1] NA
[[8]]
[1] NA
[[9]]
[1] NA
[[10]]
paste("Het Contours ", I^2, sep = "")
[[11]]
[1] 0.4
[[12]]
[1] 0.41
[[13]]
[1] 0.42
[[14]]
[1] 0.45
[[15]]
[1] NA
Vitalie.
--
______________________________________________
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.