r - How to change name of row variable in a table -
it's easy change names of rows (e.g., rownames()), that's not i'm after. consider:
> newtab <- xtabs(~as.factor(letters[1:2])+letters[1:2]) > newtab letters[1:2] as.factor(letters[1:2]) b 1 0 b 0 1 i want this:
upper case lower case b 1 0 b 0 1 but if try:
> dimnames(newtab) <- list("lower case", "upper case") i error:
error in dimnames(newtab) <- list("lower case", "upper case") :
length of 'dimnames' [1] not equal array extent
look @ output of str(newtab):
> str(newtab) xtabs [1:2, 1:2] 1 0 0 1 - attr(*, "dimnames")=list of 2 ..$ as.factor(letters[1:2]): chr [1:2] "a" "b" ..$ letters[1:2] : chr [1:2] "a" "b" - attr(*, "class")= chr [1:2] "xtabs" "table" - attr(*, "call")= language xtabs(formula = ~as.factor(letters[1:2]) + letters[1:2]) as.factor(letters[1:2]) , letters[1:2] names of dimnames list. want set names of dimnames list, not dimnames themselves. can via like:
> dimnames(newtab) <- setnames(dimnames(newtab),c("lower case", "upper case")) > # or > names(dimnames(newtab)) <- c("lower case", "upper case") > newtab upper case lower case b 1 0 b 0 1
Comments
Post a Comment