2017-05-01 15 views
1

coxmeパッケージで生成されたlmekinオブジェクトのp値を表示したいと考えています。coxmeパッケージでlmekinオブジェクトからp値を抽出する方法

例えば、

model= lmekin(formula = height ~ score + sex + age + (1 | IID), data = phenotype_df, varlist = kinship_matrix) 

私が試した:

summary(model) 
coef(summary(model)) 
summary(model$coefficient$fixed) 
fixef(model)/ sqrt(diag(vcov(model)) #(Calculates Z-scores but not p-values) 

しかし、これらは動作しませんでしたが。では、この線形混合モデルのp値をどのように表示しますか?

答えて

2

これを理解するために私は何歳もの検索をしましたが、適切な回答がないと他の同様の質問に気付きました。あなたが使用

library(coxme) 
print(model) 
  • は、事前にcoxmeパッケージをロードするか、それが動作しませんが重要であることに注意してください。

また、lmekinオブジェクトからp値を抽出する方法や、一般的なcoxmeオブジェクトからp値を抽出する方法について多くの記事に気付きました。私はcoxme:::print.coxmeファンクションコードに基づいてこの関数を書いた(コードタイプcoxme:::print.coxmeをRに直接表示する)。 printは、オンザフライでp値を計算します。この関数を使用すると、p値を抽出してオブジェクトに保存できます。

modがあなたのモデルであることに注意してください。 mod <- lmekin(y~x+a+b) print(mod)を使用して、テーブルが一致するかどうかを再確認します。

extract_coxme_table <- function (mod){ 
    beta <- mod$coefficients$fixed 
    nvar <- length(beta) 
    nfrail <- nrow(mod$var) - nvar 
    se <- sqrt(diag(mod$var)[nfrail + 1:nvar]) 
    z<- round(beta/se, 2) 
    p<- signif(1 - pchisq((beta/se)^2, 1), 2) 
    table=data.frame(cbind(beta,se,z,p)) 
    return(table) 
} 
+0

私は関数の最初の行を 'beta < - fixef(mod)'に置き換えなければなりませんでした。 – Axeman

関連する問題