如何解决如何将箱形晶须图上的四分位数取为序数比例,以用作序数逻辑回归中的因变量?
我的因变量是水獭遭遇率,我将其绘制在箱须图中。我的教授建议我将其转换为序数值,以便将序数回归与栖息地参数作为自变量一起使用。我正在R中进行所有分析。我们将不胜感激。
解决方法
您追求的是这样的东西吗?
df <- tibble(num = 1:10)
df %>%
mutate(num_ordinal = case_when(
num > 7 ~ "high",num <= 7 & num > 5 ~ "med",num <= 5 ~ "small"
) %>% as.factor()
)
输出
# A tibble: 10 x 2
num num_ordinal
<int> <fct>
1 1 small
2 2 small
3 3 small
4 4 small
5 5 small
6 6 med
7 7 med
8 8 high
9 9 high
10 10 high
,
要将四分位数的值转换为序数变量,您需要将这些值转换为按因子顺序具有因子水平的因子。
这里是一个例子:
library(tidyverse) # to use the functions below
df <- data.frame(
otter_encounter = 1:100,# original dependent variable
habitat_1 = rnorm(100),# independent variable 1
habitat_2 = rnorm(100) # independent variable 2
) %>%
mutate(encounter_quartile = factor(ntile(otter_encounter,4),levels = 1:4)) # your ordinal quartile values
ntile()
是可以创建四分位数的函数。如果数据框中已经有一个“四分位数”列,则可以用四分位数列名称替换ntile(...)代码。
为levels
中factor()
的排名顺序命名四个四分位数。
您可以从polr()
开始运行序数逻辑回归:
library(MASS)
m <- polr(encounter_quartile ~ habitat_1 + habitat_2,data = df,Hess=TRUE)
summary(m)
其中m
是您的回归公式。
您将需要更多来完成分析,但这不是您的问题,因此我将其省略。
有关序数逻辑回归的R教程,请参见https://stats.idre.ucla.edu/r/dae/ordinal-logistic-regression/。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。