Tôi đã tự hỏi nếu có một hàm dựng sẵn trong R có thể tính độ lệch chuẩn cho các cột giống như colMeans
tính mean
cho mỗi cột. Nó sẽ đủ đơn giản để viết chức năng mini của riêng tôi (một lệnh ghép nối gọi những thứ như apply
với sd
), nhưng tôi đã tự hỏi liệu có cái gì tôi có thể sử dụng trong khi vẫn giữ mã của tôi trông sạch sẽ không.Độ lệch chuẩn cột R
Trả lời
Ý tưởng chung là để quét chức năng trên. Bạn có nhiều lựa chọn, một là apply()
:
R> set.seed(42)
R> M <- matrix(rnorm(40),ncol=4)
R> apply(M, 2, sd)
[1] 0.835449 1.630584 1.156058 1.115269
R>
Khi áp dụng(), đối số thứ hai, lề, "là một vectơ cho các bảng con mà hàm sẽ được áp dụng." 2 cho biết các cột – rafaelvalle
Nếu bạn muốn sử dụng nó với các nhóm, bạn có thể sử dụng:
library(plyr)
mydata<-mtcars
ddply(mydata,.(carb),colwise(sd))
carb mpg cyl disp hp drat wt qsec vs am gear
1 1 6.001349 0.9759001 75.90037 19.78215 0.5548702 0.6214499 0.590867 0.0000000 0.5345225 0.5345225
2 2 5.472152 2.0655911 122.50499 43.96413 0.6782568 0.8269761 1.967069 0.5270463 0.5163978 0.7888106
3 3 1.053565 0.0000000 0.00000 0.00000 0.0000000 0.1835756 0.305505 0.0000000 0.0000000 0.0000000
4 4 3.911081 1.0327956 132.06337 62.94972 0.4575102 1.0536001 1.394937 0.4216370 0.4830459 0.6992059
5 6 NA NA NA NA NA NA NA NA NA NA
6 8 NA NA NA NA NA NA NA NA NA NA
... hoặc không có nhóm: 'colwise (sd) (mydata)' – flodel
Gói fBasics
có chức năng colStdevs
require('fBasics')
set.seed(123)
colStdevs(matrix(rnorm(1000, mean=10, sd=1), ncol=5))
[1] 0.9431599 0.9959210 0.9648052 1.0246366 1.0351268
Sử dụng hàm colSds
từ thư viện matrixStats
.
library(matrixStats)
set.seed(42)
M <- matrix(rnorm(40),ncol=4)
colSds(M)
[1] 0.8354488 1.6305844 1.1560580 1.1152688
Bạn có thể điều chỉnh 'colSds' này cho tổng không, chỉ cho phương tiện? –
- 1. Tính toán độ lệch trung bình và độ lệch tiêu chuẩn có trọng số
- 2. Độ lệch chuẩn với Apache Commons Math
- 3. độ lệch chuẩn nhanh với trọng số
- 4. Hiệu quả tính toán độ lệch chuẩn tích lũy ma trận trong r
- 5. chức năng hiện có để kết hợp độ lệch chuẩn trong R?
- 6. Thêm thanh lỗi để hiển thị độ lệch chuẩn trên một cốt truyện trong R
- 7. Cách tính hiệu quả độ lệch chuẩn di chuyển
- 8. Độ lệch chuẩn có trọng số trong NumPy?
- 9. "AttributeError: sqrt" khi tính toán độ lệch chuẩn đơn giản
- 10. Làm một phân phối chuẩn tiêu chuẩn trong R
- 11. PHP chênh lệch giữa \ r \ n \ n
- 12. tính chênh lệch thời gian trong R
- 13. Thống kê "Đảo ngược": tạo dữ liệu dựa trên độ lệch trung bình và tiêu chuẩn
- 14. Làm cách nào tôi có thể tính toán độ lệch trung bình và độ lệch chuẩn của một luồng số trong Perl?
- 15. Làm thế nào để vẽ một phân phối chuẩn tiêu chuẩn trong R
- 16. Vẽ độ lệch hồ sơ cho phù hợp GLM trong R
- 17. Nền phông nền CSS có độ lệch
- 18. Đặt độ lệch trong một dòng
- 19. localhost vs LAN: chênh lệch tốc độ?
- 20. Weka chuẩn hóa các cột
- 21. CROSS APPLY vs chênh lệch tốc độ OUTER ÁP DỤNG
- 22. Cách tính giá trị trung bình và độ lệch chuẩn cho giá trị màu từ 0 đến 360?
- 23. Lỗi chuẩn Fama MacBeth trong R
- 24. Tạo tên cột tốt R
- 25. R lặp trên cột dataframe
- 26. Có "colsd" trong R không?
- 27. CLLocation - Tìm từ/độ lệch từ tại vị trí khác
- 28. Độ lệch truy cập biến trong một dẫn xuất QObject
- 29. Vẽ các độ lệch từ đường hồi quy
- 30. Nhận số lượng cột trong R được đặt tên cột
... ở đó, tôi đặc biệt khuyên bạn nên sử dụng 'colSdColMeans' của sgibb để triển khai nhanh. – flodel
cho ma trận số, đủ dễ dàng (giải pháp bên dưới), nhưng làm thế nào về giải pháp cho một khung dữ liệu chỉ hoạt động trên các cột số? Hoặc sử dụng một đối số công thức để chọn các cột? 'colmean (~ x1 + x2 + x3, dữ liệu = d)'? – Spacedman