2013-10-14 22 views
5

私は、年齢と性別などのさまざまな変数を持つaとbの2つのタイプの106個からなるデータセットを持っています。私は、各個人が共変量に基づいてタイプaまたはタイプbであるかどうかを予測する線形モデルを実行したい。それぞれの形式はRで線形モデルをスプレッドシートデータで実行する

`data = read.xlsx("spreadsheet.xlsx",2, as.is = TRUE)` 
age = data$age 
gender = data$gender 
type = data$type 

私が使用して、年齢、性別および各個人のタイプラベルの値を読み込む

age = [28, 30, 19, 23 etc] 
gender = [male, male, female, male etc] 
type = [a b b b] 

は、その後、私は設定しようと

model1 = lm(type ~ age + gender) 

が、私は、このエラーメッセージが表示されます:モデル使用

Warning messages: 
1: In model.response(mf, "numeric") : 
using type="numeric" with a factor response will be ignored 
2: In Ops.factor(y, z$residuals) : - not meaningful for factors 

私が使用して種類、年齢や性別の形式を変更しようとしました:

age = as.numeric(as.character(age)) 
gender = as.character(gender) 
type = as.character(type) 

をしかし、これは動作しません!

+2

に基づいてロジスティック回帰を試みることができます。チュートリアルでRでそれを行う方法は、あなたの好きな検索エンジンで見つけることができます。 – Roland

答えて

11

因子を応答変数として使用する線形回帰モデルは使用できません。これはここで実行しようとしているものです(タイプは応答変数です)。回帰モデルには数値応答変数が必要です。代わりに、分類モデルを見てください。

Rolandが指摘しているように、「型」変数を論理的な二項変数として再記述することから始めたいと思うかもしれません。 2つのレベル "a"と "b"を持つ "type"という要素ではなく、 "is.type.a"という新しい変数を作成します(TRUEまたはFALSEを含む)。

あなたの応答は二項であるので、あなたは、私はあなたがロジスティック回帰を使用することができると思うの二項分布

model <- glm(is.type.a ~ age + gender,data=data,family="binomial") 
関連する問題