小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

GWAS分析中協(xié)變量的處理

 育種數(shù)據(jù)分析 2021-11-18

「飛哥灌水感言:」

?

在做GWAS分析時,雖然年份為2016,2017,2018,但是它并不是數(shù)值,而是因子!所以要將其作為協(xié)變量分析時,直接加進去作為數(shù)值肯定是不行的,而是要將其轉(zhuǎn)化為虛擬變量(寧超大神的這篇博客介紹得很清楚:固定即回歸,固定因子可以轉(zhuǎn)化為回歸分析的變量,雖然寧大神不更新,我只能用這種方式催更了?。?!瘋狂暗示)。問題來了,如果多個因子,model.matrix函數(shù)只能一個一個的轉(zhuǎn)化,然后再合并,麻煩!這里推薦使用useful包的build.x,可以支持多個因子同時轉(zhuǎn)化,然后再放到GWAS模型中作為協(xié)變量就很666了。

?

1. 背景

在回歸分析時,有時候我們需要知道每個因子每個水平的回歸系數(shù),這樣就需要將因子轉(zhuǎn)化為虛擬變量,R語言中有model.matrix進行轉(zhuǎn)換,但是只能一個轉(zhuǎn)換一個因子,這里我們用R包useful,可以支持多個因子同時轉(zhuǎn)換。

2. 示例數(shù)據(jù)

Herd <- c(1,1,2,2,2,3,3,3,3)
Year = c(rep(c(2018,2019),each=4),2020)
Sire <- c("ZA","AD","BB","AD","AD","CC","CC","AD","AD")
Yield <- c(110,100,110,100,100,110,110,100,100)
dat <- data.frame(Herd,Year,Sire,Yield)
dat$Herd <- as.factor(dat$Herd)
dat$Year <- as.factor(dat$Year)
dat

這里,Herd,Year,Sire都是因子,如果在構(gòu)建矩陣時,需要轉(zhuǎn)化為虛擬變量。

3. R中model.matrix轉(zhuǎn)化方法

一個因子,一個因子的轉(zhuǎn)化,然后進行合并:

X1 = model.matrix(~Herd-1,data=dat)
X1

X2 = model.matrix(~Year-1,data=dat)
X2

X = cbind(X1,X2)
X

4. 更簡單的方法

# 簡單的方法
# install.packages("useful") # 如果沒有安裝useful這個包,運行這行命令進行安裝。
library(useful)
build.x(~Herd+Year-1,data=dat,contrasts = F)

5. 全部代碼

# 示例數(shù)據(jù)
Herd <- c(1,1,2,2,2,3,3,3,3)
Year = c(rep(c(2018,2019),each=4),2020)
Sire <- c("ZA","AD","BB","AD","AD","CC","CC","AD","AD")
Yield <- c(110,100,110,100,100,110,110,100,100)
dat <- data.frame(Herd,Year,Sire,Yield)
dat$Herd <- as.factor(dat$Herd)
dat$Year <- as.factor(dat$Year)
dat


# R中model.matrix
X1 = model.matrix(~Herd-1,data=dat)
X1

X2 = model.matrix(~Year-1,data=dat)
X2

X = cbind(X1,X2)
X


# 簡單的方法
library(useful)
build.x(~Herd+Year-1,data=dat,contrasts = F)

6. 怎么樣,學會了么

快來關(guān)注我吧!公眾號:育種數(shù)據(jù)分析之放飛自我

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多