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?

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 $:

> 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



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

Reply via email to