[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
Colleagues,
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,
dimnames(myvalues)<-list(NULL,c(zzz))
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,
colnames(myvalues)<-as.character(zzz)
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).
John
# create variable names xxx1 and xxx2.
string=""
for (j in 1:2){
name <- paste("xxx",j,sep="")
string <- paste(string,name)
print(string)
}
# Creation of xxx1 and xxx2 works
string
# Create matrix
myvalues <- matrix(nrow=2,ncol=4)
head(myvalues,1)
# Add "j" and "k" to the string of column names
zzz <- paste("j","k",string)
zzz
# assign column names, j, k, xxx1, xxx2 to the matrix
# create column names, j, k, xxx1, xxx2.
dimnames(myvalues)<-list(NULL,c(zzz))
colnames(myvalues) <- string
More information about the R-help
mailing list