2013-08-01 34 views
7

Tôi cố gắng để tạo ra đa thức trực giao trong R, nhưng tôi tiếp tục nhận được một lỗi tôi không hiểuTại sao `poly` phàn nàn về mức độ ít hơn số điểm duy nhất?

> poly(1:1000, 50) 
Error in poly(1:1000, 50) : 
    'degree' must be less than number of unique points 

Chắc chắn số lượng các điểm độc đáo là 1000? Nó có nghĩa là gì? Đây có phải là lỗi hay không và liệu có ai biết tôi làm việc không?

Chỉnh sửa: Điều này dường như đá ở mức độ> 27 cho bất kỳ số điểm nào - đây có phải là giới hạn không có giấy tờ không?

+3

Vì tò mò, tại sao bạn muốn tạo đa thức bậc 50? Tôi chân thành hy vọng nó không phải là để mô hình hóa ... – Justin

+0

Không phải nó không phải để làm mẫu, nhưng bây giờ bạn đặt nó như thế, tôi cảm thấy ít ngạc nhiên khi nó không hoạt động cho 50! Tôi đã rất hăng hái với những gì tôi đang làm, tôi đã quên mất những gì mà hầu hết mọi người có thể sử dụng chức năng này. (Đó là một chút phức tạp để giải thích một thời gian ngắn, nhưng nó là để làm với việc tạo ra các chức năng phân tích ngẫu nhiên trong một khoảng thời gian) – Corone

Trả lời

12

Lỗi tràn số. Nếu bạn nhìn vào các mã cho poly, bạn sẽ thấy nó tạo ra các điều khoản đa thức cá nhân như một bước trung gian:

X <- outer(x, seq_len(n) - 1, "^") 

và khi n (mức độ của đa thức bạn muốn) là 50, các từ ngữ kết quả đi lên đến 1e132.

+0

Cảm ơn rất nhiều - Tôi không thể phàn nàn, như Justin đã chỉ ra ở trên, đây không thực sự là mục tiêu sử dụng cho chức năng này ! – Corone

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