geom_smooth () có những phương thức nào?


92

Tôi đang sử dụng geom_smooth()từ ggplot2.

Trong cuốn sách của Hadley Wickham ("ggplot2 - Elegant Graphics for Data Analysis") có một ví dụ (trang 51), method="lm"được sử dụng ở đâu . Trong sách hướng dẫn trực tuyến không có phần nói về methodlập luận. Tôi thấy các kết quả khác trên Google (và các câu hỏi tại đây) của những người đang sử dụng method='loess'.

Có một danh sách đầy đủ ở đâu đó giải thích các tùy chọn không?

Từ những gì tôi có thể nhìn thấy, hãy 'lm'vẽ một đường thẳng, và 'loess'vẽ một đường cong rất mượt mà. Tôi giả sử có những người khác vẽ thêm một đường răng cưa giữa các điểm tham chiếu?

Đối sesố từ ví dụ này cũng không có trong tài liệu trợ giúp hoặc trực tuyến.

FWIW đây là mã của tôi.

p <- ggplot(output8, aes(age, myoutcome, group=id, colour=year_diag_cat2)) +
  geom_line() + scale_y_continuous(limits = c(lwr,upr))
p + geom_smooth(aes(group=year_diag_cat2), method="loess", size=2, se=F)


2
Câu hỏi và câu trả lời đã lỗi thời. Hiện tại tài liệu danh sách đối số: ggplot2.tidyverse.org/reference/geom_smooth.html
Jan-glx

Liên kết của @ StéphaneLaurent đã được di chuyển (vì nó đã hơn 5 tuổi): stats.idre.ucla.edu/r/faq/…
MokeEire

Câu trả lời:


38

Đôi khi việc đặt câu hỏi khiến câu trả lời bị nhảy ra ngoài. Các phương thức và đối số bổ sung được liệt kê trên trang stat_smooth của ggplot2 wiki .

Được ám chỉ trên geom_smooth()trang với:

"Xem stat_smooth để biết ví dụ về việc sử dụng mô hình lắp sẵn nếu bạn cần linh hoạt hơn, ví dụ này cho bạn biết cách vẽ đồ thị phù hợp từ bất kỳ mô hình nào bạn chọn".

Đây không phải là lần đầu tiên tôi thấy các đối số trong các ví dụ cho đồ thị ggplot không cụ thể trong hàm. Nó làm cho nó khó khăn để tìm ra phạm vi của từng chức năng, hoặc có thể tôi vẫn chưa tình cờ tìm thấy một danh sách rõ ràng ma thuật cho biết những gì sẽ và sẽ không hoạt động trong mỗi chức năng.


4
vâng, tài liệu hơi lộn xộn. Tôi không thích cách Springer tính phí hơn 40 đô la cho cuốn sách của hadley, trong đó có thiếu thông tin trên trang web.
wespiserA

@wespiserA thiếu thông tin trên trang web (hoặc gói trợ giúp) theo nghĩa nào? nzcoops đã tìm nhầm chỗ. Điều đó không có nghĩa là sự trợ giúp cho geom_smooth()không thể được cải thiện, hãy nói bằng cách đề cập rõ ràng methodvà để xem stat_smooth()- hiện tại điều này chỉ xảy ra trong một nhận xét trong các ví dụ - và một email lịch sự cho Hadley, tôi chắc chắn, sẽ có tác dụng kỳ quan. Việc viết tài liệu rất khó, đặc biệt là khi bạn đã quá gần với mã; với tư cách là nhà phát triển, bạn không còn là người dùng nữa và sẽ khó viết tài liệu cho người dùng.
Gavin Simpson

1
@nzcoops lý do khiến nó không được ghi nhận như một đối số geom_smooth()là vì hàm đó không có hoặc lấy đối số đó. Mã địa lý là để tạo ra các đối tượng mà khi được in ra sẽ thực hiện bản vẽ. Quy ước trong ggplot là phải có các stat_foo()hàm, thậm chí có thể có stat_identity()khi bạn không muốn tính toán bất cứ thứ gì. Điều đó nói rằng, Hadley đón chào những bình luận / phê bình của mã của ông / gói nên thả anh và email và đề xuất các liên kết hồ sơ cá nhân cao giữa geom_tài liệu và liên quan của họstat_
Gavin Simpson

2
@Gavin, vâng, tôi đã gửi email cho Hadley vài lần trong quá khứ, tôi nghĩ rằng câu hỏi này vẫn có giá trị ở đây vì tôi chắc chắn rằng những người khác sẽ google nó vào một thời điểm nào đó. Nhận xét của bạn về 'không có hoặc lấy đối số đó' là không chính xác. Nó có. Nó cũng có thể chuyển nó vào stat_smooth () nhưng nó 'lấy' nó như các ví dụ cho thấy. Tôi cũng không muốn lỗi Hadley qua một cái gì đó tôi biết ai đó có thể trả lời một cách nhanh chóng, mặc dù bản thân mình: /
nzcoops

23

Đối số phương thức chỉ định tham số của thống kê mượt mà. Bạn có thể xem stat_smoothdanh sách tất cả các đối số có thể có cho đối số phương thức.


Táo bạo thay đổi câu trả lời @wespiser: P Tôi sẽ cho nó đi;)
nzcoops

vâng, bạn đã bắt được trò lừa đảo của tôi lần đầu tiên. Sau đó, tôi quyết định thực hiện một chút nghiên cứu và tìm hiểu xem chuyện gì đang xảy ra!
wespiserA

1

Đối số se từ ví dụ này cũng không có trong tài liệu trợ giúp hoặc trực tuyến.

Khi 'se' trong geom_smooth được đặt là 'FALSE', vùng tô bóng lỗi sẽ không hiển thị

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.