Tôi có một khung dữ liệu và tôi muốn tìm hiểu cách tóm tắt tạo ra thông tin đó. Cụ thể, làm thế nào để tóm tắt tạo ra một số đếm cho số lượng các yếu tố trong mỗi cấp độ của một yếu tố. Tôi có thể sử dụng tóm tắt, nhưng tôi muốn tìm hiểu cách làm việc với các yếu tố tốt hơn. Khi tôi thử? Tóm tắt, tôi chỉ nhận được thông tin chung. Điều này là không thể bởi vì nó nằm trong bytecode?Làm cách nào để đọc mã cho tóm tắt() cho một khung dữ liệu?
Trả lời
Những gì chúng ta nhìn thấy khi bạn gõ summary
là
> summary
function (object, ...)
UseMethod("summary")
<bytecode: 0x0456f73c>
<environment: namespace:base>
Đây là nói cho chúng tôi tóm tắt đó là một hàm tổng quát và có nhiều phương pháp gắn liền với nó. Để xem những phương pháp này thực sự được gọi là gì, chúng tôi có thể thử
> methods(summary)
[1] summary.aov summary.aovlist summary.aspell*
[4] summary.connection summary.data.frame summary.Date
[7] summary.default summary.ecdf* summary.factor
[10] summary.glm summary.infl summary.lm
[13] summary.loess* summary.manova summary.matrix
[16] summary.mlm summary.nls* summary.packageStatus*
[19] summary.PDF_Dictionary* summary.PDF_Stream* summary.POSIXct
[22] summary.POSIXlt summary.ppr* summary.prcomp*
[25] summary.princomp* summary.srcfile summary.srcref
[28] summary.stepfun summary.stl* summary.table
[31] summary.tukeysmooth*
Non-visible functions are asterisked
Ở đây chúng tôi thấy tất cả các phương pháp được liên kết với hàm summary
. Điều này có nghĩa là có mã khác nhau khi bạn gọi tóm tắt về một đối tượng lm hơn là khi bạn gọi tóm tắt trên một data.frame. Điều này là tốt bởi vì chúng tôi sẽ không mong đợi bản tóm tắt được thực hiện theo cùng một cách cho hai đối tượng đó.
Để xem mã được chạy khi bạn gọi tóm tắt về một data.frame bạn chỉ có thể gõ
summary.data.frame
như thể hiện trong danh sách các phương pháp. Bạn sẽ có thể kiểm tra nó và nghiên cứu nó và làm bất cứ điều gì bạn muốn với mã in. Bạn đã đề cập rằng bạn quan tâm đến các yếu tố, do đó bạn có thể muốn kiểm tra đầu ra của summary.factor
. Bây giờ bạn có thể nhận thấy rằng một số phương thức được in có dấu hoa thị (*) bên cạnh chúng có nghĩa là chúng không nhìn thấy được. Điều này về cơ bản có nghĩa là bạn không thể chỉ cần gõ tên của hàm để thử xem mã.
> summary.prcomp
Error: object 'summary.prcomp' not found
Tuy nhiên, nếu bạn quyết tâm để xem những gì các mã thực sự là bạn có thể sử dụng chức năng getAnywhere
để xem nó.
> getAnywhere(summary.prcomp)
A single object matching ‘summary.prcomp’ was found
It was found in the following places
registered S3 method for summary from namespace stats
namespace:stats
with value
function (object, ...)
{
vars <- object$sdev^2
vars <- vars/sum(vars)
importance <- rbind(`Standard deviation` = object$sdev, `Proportion of Variance` = round(vars,
5), `Cumulative Proportion` = round(cumsum(vars), 5))
colnames(importance) <- colnames(object$rotation)
object$importance <- importance
class(object) <- "summary.prcomp"
object
}
<bytecode: 0x03e15d54>
<environment: namespace:stats>
Hy vọng điều này giúp bạn khám phá mã trong R dễ dàng hơn trong tương lai.
Để biết thêm chi tiết, bạn có thể xem Volume 6/4 of The R Journal (warning, pdf) và đọc phần "Bàn trợ giúp R" của Uwe Ligge liên quan đến việc xem mã nguồn của các hàm R.
Được giải thích rõ ràng. 'phương thức (class = data.frame)' cũng có thể được đề cập. – Roland
- 1. Làm thế nào để chuyển đổi đầu ra tóm tắt thành một khung dữ liệu?
- 2. nhóm theo dữ liệu tóm tắt
- 3. Tóm tắt dữ liệu bằng cách sử dụng .countBy
- 4. Cách làm cho bối cảnh dữ liệu khung thực thể chỉ đọc
- 5. Làm thế nào để tóm tắt dữ liệu theo nhóm với trung bình có trọng số?
- 6. Phím tắt hoàn thành mã tóm tắt
- 7. Trong Python, làm cách nào để đọc dữ liệu exif cho một hình ảnh?
- 8. Làm cách nào để TÙY CHỌN TÓM TẮT?
- 9. Tôi làm cách nào để tạo mã băm cho cấu trúc dữ liệu tùy chỉnh?
- 10. Cách đọc một khung dữ liệu của các chuỗi được mã hóa từ csv trong python
- 11. Làm cách nào để đặt tên cột thành chữ thường cho nhiều khung dữ liệu?
- 12. phương pháp dán cho một khung dữ liệu
- 13. Làm cách nào để tạo một bản tóm tắt băm MD5 từ một tệp văn bản?
- 14. Các giải pháp thay thế cho Bản tóm tắt?
- 15. Phương pháp "Tóm tắt tĩnh" - làm cách nào?
- 16. Tóm tắt Big-O cho Bộ sưu tập Java Triển khai khung?
- 17. R data.table cú pháp cho subsetting và tóm tắt
- 18. Làm cách nào để tóm tắt các hàng chỉ xảy ra một lần?
- 19. Bản ghi Git - tóm tắt tóm tắt của chi nhánh
- 20. Làm cách nào để đọc dữ liệu cx_Oracle.LOB bằng Python?
- 21. Áp dụng một chức năng cho mỗi khung dữ liệu
- 22. Làm cách nào để làm cho một cột có thể chỉnh sửa được trong dữ liệu chỉ đọc?
- 23. gcov cảnh báo: hợp nhất không khớp cho tóm tắt
- 24. Tôi làm cách nào để đọc tập dữ liệu SAS?
- 25. Đọc danh sách Pandas trong một khung dữ liệu
- 26. Tạo bảng tóm tắt ("trục"?)
- 27. Cách nhanh hơn để đọc nhiều csv vào một khung dữ liệu?
- 28. Đọc phản hồi một phần XHR cho dữ liệu nhị phân, có thể?
- 29. Cách tạo biểu đồ thanh xếp chồng lên nhau từ dữ liệu tóm tắt trong ggplot2
- 30. Làm cách nào để thêm hàng tóm tắt vào Chế độ xem Drupal?
thử '> summary.data.frame' trên bảng điều khiển. – kohske
Xem '? Phương thức' và thử' phương thức (tóm tắt) ', sẽ dẫn bạn đến' summary.data.frame', được viết thành '? Summary'. –
Câu Hỏi & Đáp này thậm chí còn dứt khoát hơn: http://stackoverflow.com/questions/19226816/how-can-i-view-the-source-code-for-a-function –