2013-10-14 10 views
5

के साथ आर में एक रैखिक मॉडल चलाना मेरे पास एक प्रकार का डेटासेट है जिसमें दो प्रकार के 106 व्यक्ति शामिल हैं - ए और बी विभिन्न चर के साथ, उदाहरण के लिए आयु और लिंग। मैं एक रैखिक मॉडल चलाने के लिए चाहता हूं जो भविष्यवाणी करता है कि प्रत्येक व्यक्ति सह-भिन्नता के आधार पर टाइप प्रकार या टाइप बी है या नहीं।स्प्रेडशीट डेटा

`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

के आधार पर प्रतिगमन की कोशिश कर सकते के बाद से अपनी प्रतिक्रिया द्विपद मुझे लगता है कि आप रसद प्रतिगमन इस्तेमाल कर सकते हैं है। ट्यूटोरियल आर में ऐसा कैसे करें अपने पसंदीदा खोज इंजन के साथ मिल सकता है। – Roland

उत्तर

11

आप अपने प्रतिक्रिया चर के रूप में एक कारक के साथ एक रैखिक प्रतिगमन मॉडल का उपयोग नहीं कर सकते हैं, जो आप यहां करने का प्रयास कर रहे हैं (प्रकार आपका प्रतिक्रिया चर है)। रिग्रेशन मॉडल को संख्यात्मक प्रतिक्रिया चर की आवश्यकता होती है। आपको वर्गीकरण मॉडल देखना चाहिए।

रोलैंड बताते हैं, तो आप अपने "प्रकार" चर को तार्किक, द्विपक्षीय चर के रूप में पुन: स्थापित करना शुरू कर सकते हैं। "स्तर" नामक एक कारक के बजाय "ए" और "बी" के साथ, आप "is.type.a" नामक एक नया चर बना सकते हैं, जिसमें सत्य या गलत होगा।

फिर आप एक रसद एक द्विपद बंटन

model <- glm(is.type.a ~ age + gender,data=data,family="binomial") 
संबंधित मुद्दे