Peter,
I've inserted response inline below:
Cliff
Peter Dalgaard wrote:
Cliff Behrens wrote:
Peter,
OK...here is reproducible, self-contained code:
library(gregmisc)
Relying on a 3rd party package is not kosher either... Whatever did
list("NA"=2) or l <- list(2); names(l) <- "NA" do to you?
I'm not sure what you mean by "3rd party?" I downloaded this package
from the CRAN site where I get all others. I don't understand your
question.
columnNames <- c("A","B","C","D","N","a","b","c")
namePerms<- permutations(length(columnNames),2,columnNames,repeats=TRUE)
nameList <- paste(namePerms[,1],namePerms[,2],sep="")
dataList <- lapply(1:length(nameList), function(level) {})
names(dataList)<- nameList ## The "NA" is interpreted that the name
is missing for one list in dataList
If you inspect the contents of dataList, you will find the following
showing that the name "NA" is treated differently:
Anyways.... As I thought:
Remember that NA is a reserved word. You get the same kind of reaction
if you name an element "for" or "in". It denotes that you need to
quote the name for indexing with $:
I thought that since all of the names in namesList were type char, there
was no need to enclose these in quotation marks.
> names(l) <- "NA"
> l$NA
Error: unexpected numeric constant in "l$NA"
> l$`NA`
[1] 2
> l$"NA"
[1] 2
> l[["NA"]]
[1] 2
> names(l)
[1] "NA"
......
$Na
NULL
$`NA`
NULL
$Nb
NULL
.........
Peter Dalgaard wrote:
Cliff Behrens wrote:
I want to generate a list (called "dataList" below) where each of
its levels is named. These names are assigned to nameList, which
contains all possible permutations of size two taking letters from
a larger alphabet, e.g., "aa",...,"Fd",..,"Z1",... One of these
permutations is the character string "NA". It seems that when I
try to name one of the dataList levels "NA", using
names(dataList)<- nameList, the names() function assigns the
missing character to the level. Is there someway to preserve "NA"
as the name of a level in dataList? Here is the R code I have been
using to do this.
namePerms<-
permutations(ncol(coinMat),2,colnames(coinMat),repeats=TRUE)
nameList <- paste(namePerms[,1],namePerms[,2],sep="")
dataList <- lapply(1:length(nameList), function(level) {})
names(dataList)<- nameList ## The "NA" in nameList is
interpreted so that the name "NA" is missing for one level in dataList
I am running R 2.4.1 in the Windows XP environment.
Thanks for any help that can be offerred.
Your example is not reproducible and self-contained. What is
"permutations" and "coinMat"??
I bet it isn't minimal either.
It doesn't seem to be happening for me with a recent(!) version of
R, but you could just be misinterpreting the backtick quoting.
-
O__ ---- Peter Dalgaard Ă˜ster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45)
35327918
~~~~~~~~~~ - (p.dalga...@biostat.ku.dk) FAX: (+45)
35327907
______________________________________________
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.