r - 与 R 中的 2 个或更多自由度对比
问题描述
在 SAS 中,可以直接指定具有两个或多个自由度 (df) 的对比;例如,使用以下代码:
CONTRAST “CONT2DF” TREAT -1 -1 2,
TREAT 1 -1 0;
在 R 中,可以利用emmeans::test(contrast, joint=T)
两个或多个 df 来获得对比度。同样与rms::contrast(f, type='joint')
,相同的结果。但是,在不依赖任何其他统计库的情况下,如何获得以下内容?
library(tidyr)
set.seed(123)
data <- data.frame(a=rnorm(20, 8,1), b=rnorm(20, 14,2), c=rnorm(20, 4,0.5),d=rnorm(20, 19,2))
data <- gather(data, key=Treat, value=y)
data$Treat<-as.factor(data$Treat)
c1<-c(1,-1,-1,-1)/3
c2<-c(0, 1,1,-2)/2
c3<-c(0,0,1,-1)
contrast2df<-??? (c1,c2) # Here the doubt
finalcontrasts <- cbind(contrast2df, c3)
contrasts(data$Treat) <- finalcontrasts
CList = list("contrast2df" = 1,
"c3" = 2)
model <- aov(y~Treat, data=data)
summary(model, split=list(Trat=CList))
# Equivalent to :
library(emmeans)
model1 <- lm(y~Treat, data=data)
finalcontrastsem <- list(c1, c2, c3)
medias <- emmeans(model, ~Treat)
step1 <- contrast(medias, finalcontrastsem[1:2])
test(step1, joint=T)
step2 <- contrast(medias, finalcontrastsem[3])
test(step2, joint=T)
解决方案
推荐阅读
- awk - 使用 grep/awk 从文件中提取信息
- maven - 在 Azure devops 中构建失败
- sql - 如何在 SQL 中的另一个聚合函数上使用 COUNT 函数?
- user-interface - 与我的谷歌日历同步的 Gui 提醒
- c# - C# 高需求 API 实现
- ios - UIKit:UITableViewCell 上的约束不适用于表格视图中的前几个单元格
- javascript - 如何添加到作为时间选择器组件的一部分执行的 onChange 事件
- javascript - 如何确定视频帧是否已准备好进行合成?
- c++ - 静态库中的 ODR 和公共代码:需要帮助!非常感谢
- javascript - 根据传入的数据创建新组件到 nivo 线图中