On Nov 30, 2010, at 6:07 PM, clangkamp wrote:

Dear Jim
I think the target is to get from a Named chr to a just chr
str(mat)
Named chr [1:32268] "yQAAA" "jQAAQ" "UQAAg" "FQAAw" "1QABA" ...
- attr(*, "names")= chr [1:32268] "CAAAAAAAAA" "CAAAAAAAAC"
"CAAAAAAAAG" "CAAAAAAAAT" ...

I have presumably the same problem
str(DC1a)
num [1:18, 1:48, 1:35] 3124.4 3049.2 227.8 41.4 76 ...
- attr(*, "dimnames")=List of 3
 ..$ Figure  : Named chr [1:18]  "CDS1" ...
 .. ..- attr(*, "names")= chr [1:18] "1"
 ..$ Code    : Named chr [1:48] "AGR"
.. ..- attr(*, "names")= chr [1:48] "1" "36" "71" "106" ...
 ..$ variable: Named chr [1:35] "X30.09.2009" "
.. ..- attr(*, "names")= chr [1:35] "1" "2" "3" "4" ...
DC1_SM<-abind(DC1a, DC1_PLCF_SM1, along=1, new.names=)
str(DC1_SM)
num [1:24, 1:48, 1:35] 3124.4 3049.2 227.8 41.4 76 ...
- attr(*, "dimnames")=List of 3
 ..$ : chr [1:24]  "CDS1" ...
 ..$ : chr [1:48] "AGR"
 ..$ : chr [1:35] "X30.09.2009" "

names(dimnames(DC1_PLCF_SM1))<-names(dimnames(DC1a))

The point is to kill the lines with the bit
.. ..- attr(*, "names")= chr [1:35] "1" "2" "3" "4" ...
and change the "Named chr" into a plain chr.

It is not at all clear to me that the problem posed a year and a half ago is the same as the one you perceive you are facing. In any event you are welcome to mangle your object (which you have not offered for testing) by turning a named dimension name vector into an unnamed one:

?unname
?Extract

DCtest <- array(1:27, c(3,3,3))
dimnames(DCtest) <- list(dim1 =c(a="a",b="b",c="c"),   #named vector
dim2=letters[4:6], #unnamed vectors
                            dim3= letters[7:9])

> str(DCtest)
 int [1:3, 1:3, 1:3] 1 2 3 4 5 6 7 8 9 10 ...
 - attr(*, "dimnames")=List of 3
  ..$ dim1: Named chr [1:3] "a" "b" "c"
  .. ..- attr(*, "names")= chr [1:3] "a" "b" "c"
  ..$ dim2: chr [1:3] "d" "e" "f"
  ..$ dim3: chr [1:3] "g" "h" "i"
> dimnames(DCtest)[1]
$dim1
  a   b   c
"a" "b" "c"

> dimnames(DCtest)[[1]]
  a   b   c
"a" "b" "c"

So use the [[<- function to replace the named vector with an unnamed one:

> dimnames(DCtest)[[1]] <- unname( dimnames(DCtest)[[1]] )
> str(DCtest)
 int [1:3, 1:3, 1:3] 1 2 3 4 5 6 7 8 9 10 ...
 - attr(*, "dimnames")=List of 3
  ..$ dim1: chr [1:3] "a" "b" "c"
  ..$ dim2: chr [1:3] "d" "e" "f"
  ..$ dim3: chr [1:3] "g" "h" "i"


-----
Christian Langkamp
christian.langkamp-at-gmxpro.de

--
View this message in context: 
http://r.789695.n4.nabble.com/Can-t-Destroy-Dim-Names-tp876633p3066413.html

David Winsemius, MD
West Hartford, CT

______________________________________________
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