2013-03-06 35 views
6

Tôi đã sử dụng lm() để phù hợp với nhiều mô hình hồi quy, cho nhiều biến (~ 1 triệu) trong R. Ví dụ.Lấy các sai số chuẩn còn lại của đối tượng "mlm" được trả về bởi `lm()`

allModels <- lm(t(responseVariablesMatrix ~ modelMatrix) 

Điều này trả về đối tượng của lớp "mlm", giống như một đối tượng lớn chứa tất cả các mô hình. Tôi muốn nhận được số tiền còn lại của Squares cho mỗi mô hình, mà tôi có thể làm gì sử dụng:

summaries <- summary(allModels) 
rss1s <- sapply(summaries, function(a) return(a$sigma)) 

Vấn đề của tôi là tôi nghĩ rằng "Tóm tắt" chức năng tính toán một bó toàn bộ những thứ khác nữa, và do đó khá chậm. Tôi tự hỏi nếu có một cách nhanh hơn để giải nén chỉ tổng dư của hình vuông cho mô hình?

Cảm ơn!

Trả lời

5

có một thành phần còn lại trong đầu ra của đối tượng lm, do đó bạn nhận được tổng số dư của hình vuông theo sum(output$residuals^2).

chỉnh sửa: Bạn đang thực sự tham gia sigma ra khỏi tóm tắt, đó là sqrt(sum(output$residuals^2)/output$df.residuals)

Đối với tất cả các mẫu sử dụng

sapply(allModels, function(a) sqrt(sum(a$residuals^2)/a$df.residuals)))

0
residuals(summary(allModels))) 

sẽ cung cấp cho bạn ma trận của dư

+0

này doesn 't thực sự trả lời câu hỏi. Bạn đang sử dụng hàm tổng hợp mà người hỏi câu hỏi đã nói là khá chậm. Họ đang yêu cầu nếu có 'là một cách nhanh hơn để giải nén chỉ tổng dư của hình vuông cho mô hình?' – Ren

+0

lỗi của tôi. Cảm ơn bạn – eFinance

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