gpt4 book ai didi

r - 组合取消分类因子变量

转载 作者:行者123 更新时间:2023-12-04 15:34:53 26 4
gpt4 key购买 nike

更新:已修复
这在即将发布的 R 3.1.0 中得到修复。 .从变更日志:

combn(x, simplify = TRUE) now gives a factor result for factor inputx (previously user error).
Related to PR#15442



我刚刚注意到一件奇怪的事情。为什么 combn似乎取消分类 factor除了第一个组合之外的所有变量的基础数值?
x <- as.factor( letters[1:3] )

combn( x , 2 )
# [,1] [,2] [,3]
#[1,] "a" "1" "2"
#[2,] "b" "3" "3"
x 时不会发生这种情况是一个字符:
x <- as.character( letters[1:3] )

combn( x , 2 )
# [,1] [,2] [,3]
#[1,] "a" "a" "b"
#[2,] "b" "c" "c"
可在 OS X 10.7.5 和 Windows 7 上的 R64 上重现。

最佳答案

我认为这是由于转换为 matrixsimplify 完成范围。如果你不使用它,你会得到:

combn( x , 2 , simplify=FALSE)
[[1]]
[1] a b
Levels: a b c

[[2]]
[1] a c
Levels: a b c

[[3]]
[1] b c
Levels: a b c

第一列可以的事实是由于方式 combn工作原理:单独指定第一列,然后使用 [<- 从现有矩阵更改其他列.考虑:
m <- matrix(x,3,3)
m[,2] <- sample(x)
m
[,1] [,2] [,3]
[1,] "a" "1" "a"
[2,] "b" "3" "b"
[3,] "c" "2" "c"

因此,我认为违规功能是 [<- .

关于r - 组合取消分类因子变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18615939/

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