3

私はデータフレームを持っていると仮定しましょう:

xyz <- c(1,2,3,4,5,6)
zyx <- c("A", "B", "C", "A", "B", "C")
zyx <- factor(zyx)
myframe <- data.frame(xyz, zyx)

ここで、zyx-Variable の constrast を計算したいと思います。私が使う:

contrasts(myframe$zyx) <- contr.treatment(3, base=3)

変数 myframe$zyx を見ると、次のようになります。

[1] A B C A B C
attr(,"contrasts")
  1 2
A 1 0
B 0 1
C 0 0
Levels: A B C

しかし、「1」や「2」ではなく、「contr_A_vs_C」や「contr_B_vs_C」のような名前のコントラが必要です。

あなたはなにか考えはありますか?

編集:

わかりました、簡単な質問ではないようです。もっと率直に言ってみましょう:

対処できるコントラスト関数内に「名前」コマンドはありますか?

たとえば、線形回帰を実行する場合、直接コマンドを使用してモデル推定値を処理できます。たとえば、R の 2 乗の値が必要な場合は、次のように入力できます。

rsquared <- regressionmodel$r.squared

たぶん、コントラストに似たようなものがあります

dataframe$contrast.names <- ...

?

4

2 に答える 2

5

参照している は、指定した列にmatrixとして保存されattributeます。次のように直接アクセスできます。

attr(myframe$zyx, "contrasts")
#   1 2
# A 1 0
# B 0 1
# C 0 0

したがって、通常どおり使用できます(ただし、後でorcolnamesのデフォルトの出力値を使用する可能性のあるものが壊れるかどうかはわかりません)。contrastscontr.treatment

colnames(attr(myframe$zyx, "contrasts")) <- 
  c("contr_A_vs_C", "contr_B_vs_C")

myframe$zyx
# [1] A B C A B C
# attr(,"contrasts")
#   contr_A_vs_C contr_B_vs_C
# A            1            0
# B            0            1
# C            0            0
# Levels: A B C
于 2013-11-10T14:12:06.987 に答える