2012-06-19 42 views
20

Chúng tôi đã nhận một đối tượng lm từ và muốn trích xuất các sai số chuẩnR: sản lượng sai số chuẩn từ đối tượng lm

lm_aaa<- lm(aaa~x+y+z) 

Tôi biết các chức năng tóm tắt, tên và hệ số. Tuy nhiên, tóm tắt có vẻ là cách duy nhất để truy cập thủ công lỗi chuẩn. Bạn có bất kỳ ý tưởng làm thế nào tôi chỉ có thể sản lượng se?

cảm ơn!

Trả lời

16

Kết quả của từ summary chức năng chỉ là một R danh sách. Vì vậy, bạn có thể sử dụng tất cả các hoạt động danh sách tiêu chuẩn. Ví dụ:

#some data (taken from Roland's example) 
x = c(1,2,3,4) 
y = c(2.1,3.9,6.3,7.8) 

#fitting a linear model 
fit = lm(y~x) 
m = summary(fit) 

Đối tượng hoặc danh sách m có một số thuộc tính. Bạn có thể truy cập chúng bằng cách sử dụng khung hoặc cách tiếp cận có tên:

m$sigma 
m[[6]] 

Một chức năng hữu ích để biết là, str. Chức năng này cung cấp một bản tóm tắt của các đối tượng thuộc tính, tức là

str(m) 
+0

Tuy nhiên, những gì @csgillespie đề cập đến là độ lệch chuẩn ** còn lại ** của mô hình, chứ không phải độ lệch chuẩn của các hệ số riêng lẻ. Hàm 'm $ sigma' tương ứng với' sigma (fit) ', xem [ở đây] (https://stat.ethz.ch/R-manual/R-devel/library/stats/html/sigma.html). Tôi tin rằng câu hỏi thực sự là về độ lệch chuẩn của ** hệ số ** riêng lẻ. –

8
#some data 
x<-c(1,2,3,4) 
y<-c(2.1,3.9,6.3,7.8) 

#fitting a linear model 
fit<-lm(y~x) 

#look at the statistics summary 
summary(fit) 

#get the standard error of the slope 
se_slope<-summary(fit)$coef[[4]] 
#the index depends on the model and which se you want to extract 

#get the residual standard error 
rse<-summary(fit)$sigma 
11

Để có được một danh sách các sai số chuẩn cho tất cả các thông số, bạn có thể sử dụng

summary(lm_aaa)$coefficients[, 2] 

Như những người khác đã chỉ ra, str(lm_aaa) sẽ cho bạn khá nhiều tất cả các thông tin có thể được trích xuất từ ​​mô hình của bạn.

0

Nếu bạn không muốn nhận được lỗi/độ lệch chuẩn của mô hình, nhưng thay vào đó sai số chuẩn/độ lệch của hệ số cá nhân, sử dụng

# some data (taken from Roland's example) 
x = c(1, 2, 3, 4) 
y = c(2.1, 3.9, 6.3, 7.8) 

# fitting a linear model 
fit = lm(y ~ x) 

# get vector of all standard errors of the coefficients 
coef(summary(fit))[, "Std. Error"] 

Để biết thêm thông tin về sai số/độ lệch chuẩn của mô hình, xem here. Để biết thêm thông tin về lỗi/độ lệch chuẩn của các hệ số, hãy xem here.

Các vấn đề liên quan