gpt4 book ai didi

r - 如何更改表中行变量的名称

转载 作者:行者123 更新时间:2023-12-04 09:51:00 24 4
gpt4 key购买 nike

更改行的名称很容易(例如,使用 rownames() ),但这不是我想要的。考虑:

> newTab <- xtabs(~as.factor(letters[1:2])+LETTERS[1:2])
> newTab
LETTERS[1:2]
as.factor(letters[1:2]) A B
a 1 0
b 0 1

我想得到这个:
          upper case
lower case A B
a 1 0
b 0 1

但如果我尝试:
> dimnames(newTab) <- list("lower case", "upper case")

我收到一个错误:

Error in dimnames(newTab) <- list("lower case", "upper case") :
length of 'dimnames' [1] not equal to array extent

最佳答案

查看 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]dimnames 的名称列表。所以你真的想设置 dimnames的名字列表,而不是dimnames 本身。您可以通过以下方式做到这一点:
> dimnames(newTab) <- setNames(dimnames(newTab),c("lower case", "upper case"))
> # or
> names(dimnames(newTab)) <- c("lower case", "upper case")
> newTab
upper case
lower case A B
a 1 0
b 0 1

关于r - 如何更改表中行变量的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18155125/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com