あなたはかなり広い質問をしましたが、私はできる限り正確にしようとします。しかし、注意の注意:すべての統計的分析方法は暗黙の一連の仮定を持っています。つまり、分析の限界を理解せずに統計モデルの結果に頼ると、間違った結論を簡単に作り出すことができます。
また、あなたが分類によって何を意味しているかは、私には明らかではありません。誰かが私に分類分析を依頼したら、おそらくクラスター分析、因子分析、潜在クラス分析などを考えていたでしょう。適用可能な線形回帰モデリングのいくつかの変形があります。
つまり、データを使用して線形回帰を行う方法を説明します。
まず、あなたのサンプルデータを複製:
dat <- structure(list(B = c(1L, 0L, 1L, 1L, 1L), T = c(1L, 0L, 0L, 1L,
0L), H = c(1L, 0L, 0L, 1L, 1L), G = c(0L, 1L, 1L, 1L, 0L), S = c(1L,
1L, 0L, 1L, 1L), Z = c(0L, 0L, 0L, 0L, 1L)), .Names = c("B",
"T", "H", "G", "S", "Z"), class = "data.frame", row.names = c("Golf",
"Football", "Hockey", "Golf2", "Snooker"))
dat
B T H G S Z
Golf 1 1 1 0 1 0
Football 0 0 0 1 1 0
Hockey 1 0 0 1 0 0
Golf2 1 1 1 1 1 0
Snooker 1 0 1 0 1 1
次に、期待値を追加します。
dat$expected <- c(1,2,3,1,4)
dat
B T H G S Z expected
Golf 1 1 1 0 1 0 1
Football 0 0 0 1 1 0 2
Hockey 1 0 0 1 0 0 3
Golf2 1 1 1 1 1 0 1
Snooker 1 0 1 0 1 1 4
最後に、我々は分析を開始することができます。幸い、lm
には、データフレーム内のすべての列を使用するように指示するショートカットメカニズムがあります。 expected~.
:
fit <- lm(expected~., dat)
summary(fit)
Call:
lm(formula = expected ~ ., data = dat)
Residuals:
ALL 5 residuals are 0: no residual degrees of freedom!
Coefficients: (2 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.00e+00 NA NA NA
B 1.00e+00 NA NA NA
T -3.00e+00 NA NA NA
H 1.00e+00 NA NA NA
G -4.71e-16 NA NA NA
S NA NA NA NA
Z NA NA NA NA
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 4 and 0 DF, p-value: NA
と注意の最後の言葉これを行うには、次の式を使用します。サンプルデータに列よりも少ない行が含まれていたため、線形回帰モデルでは機能するデータが不十分でした。したがってこの場合、最後の2つの列は単に破棄されます。あなたのデータの簡単な説明は、はるかに多くの行と列を持っていることを示しているので、あなたには問題ではありません。
あなたの完全な答えをありがとう。私は自分自身でそれを試して、それは私が必要なものにかなりスポットに見えます。私のギャップは、データフレーム上でのlmの使い方を知らないことでした。 「分類」によって、予想される価値を予測する上で変数が貧弱であることを意味しました。 – Paul