gpt4 book ai didi

r - 有序因素与水平

转载 作者:行者123 更新时间:2023-12-04 06:37:44 24 4
gpt4 key购买 nike

有人可以解释R中“有序”参数的用途吗?

R说:

ordered
logical flag to determine if the levels should be regarded as ordered (in the order given).



因此,如果我有一个称为名称的因子并设置ordered = TRUE
names<- factor(c("fred","bob","john"), ordered = TRUE)
names

为什么打印出来:
[1] fred bob  john
Levels: bob < fred < john

似乎它没有使用我给它的命令。我从弗雷德开始,从鲍勃开始?

另外,有序参数的使用方式与“水平”参数的使用方式不同,后者将对因素进行排序:
names<- factor(c("fred","bob","john"), levels= c("john","fred","bob"))
names

这返回
[1] fred bob  john
Levels: john fred bob

好像是我在订购。那么,为什么需要“有序”参数?

我对如何使用“有序”和“级别”感到困惑。

最佳答案

我将用更直观的因素替换您的名称向量,从这些因素来看,顺序更有意义:

heights <- c("low","medium","high")

heights1 <- factor(heights, ordered = TRUE)
heights1
# [1] low medium high
# Levels: high < low < medium

heights2 <- factor(heights) # ordered = FALSE by default
heights2
# [1] low medium high
# Levels: high low medium

级别的顺序可能不是您期望的,但是如果您未设置明确的级别,则级别将按字母顺序排序。

要设置明确的顺序,我们可以执行以下操作:
heights1<- factor(heights, levels = heights, ordered = TRUE)
heights1
# [1] low medium high
# Levels: low < medium < high

heights2<- factor(heights, levels = heights)
heights2
# [1] low medium high
# Levels: low medium high

您有时可能想使用 factor(x, levels = unique(x)),因为无法复制级别,在这种情况下,级别将按照其首次出现进行排序。

所以现在它在两侧都进行了排序,但是等等,一个应该是“无序的”。
该词汇表具有误导性,因为可以对无序因素进行排序,例如,如果要使用 ggplot2调整布局,该词汇表甚至很有用。

但是,正如@joran和@thomas所提到的,统计模型将根据分类变量是否有序来不同地考虑分类变量。

但是,导致我出现的有序因素是 maxmin函数的使用,尤其是在聚合函数内部。

请参阅此问题以及在有必要将因子定义为有序的情况下接受的答案: Aggregate with max and factors

我们有这个:
# > df1
# id height
# 1 1 low
# 2 1 high
# 3 2 medium
# 4 2 low
# 5 3 medium
# 6 3 medium
# 7 4 low
# 8 4 low
# 9 5 medium
# 10 5 medium

由于无序因素,我们无法汇总:
# aggregate(height ~ id,df1,max)
# Error in Summary.factor(c(2L, 2L), na.rm = FALSE) :
# ‘max’ not meaningful for factors

有了有序的因素,我们可以!
# aggregate(height ~ id,df1,max)
# id height
# 1 1 high
# 2 2 medium
# 3 3 medium
# 4 4 low
# 5 5 medium

关于r - 有序因素与水平,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23396591/

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