[R] Create a variable lenght string that can be used in a dimnames statement

Sorkin, John j@ork|n @end|ng |rom @om@um@ry|@nd@edu
Mon Jul 3 22:08:06 CEST 2023


I am sending this email again with a better description of my problem and the area where I need help.

I need help creating a string of variables that will be accepted by the dimnames function. The string needs to start with the dimnames j and k followed by a series of dimnames xxx1, . . . ., xxx2, . . ., xxxn. I create xxx1, xxx2 (not  going to xxxn to shorten the code below) as a string using a for loop and the paste function. I then use a paste function, zzz <- paste("j","k",string) to create the full set of dimnames, j, k, xxx1, xxx2 as string. I create the matrix myvalues in the usual way and attempt to assign dim names to the matrix using the following dimnames statement,
The dimnames statement leads to the following error, 
 Error in dimnames(x) <- dn : 
  length of 'dimnames' [2] not equal to array extent
A colnames statement,
produces the same error. 

Can someone tell me how to create a sting that can be used in the dimnames statment?

Thank you (and please accept my apologies for double posting).


# create variable names xxx1 and xxx2.
for (j in 1:2){
  name <- paste("xxx",j,sep="")
  string <- paste(string,name)
# Creation of xxx1 and xxx2 works

# Create matrix
myvalues <- matrix(nrow=2,ncol=4)
# Add "j" and "k" to the string of column names
zzz <- paste("j","k",string)
# assign column names, j, k, xxx1, xxx2 to the matrix
# create column names, j, k, xxx1, xxx2.
colnames(myvalues) <- string

More information about the R-help mailing list