Tôi muốn so sánh chi phí của mã CPT từ hai đối tượng nộp đơn khiếu nại khác nhau. Cả hai đều có nhà cung cấp có giá ngang và không ngang giá. Tôi đang sử dụng dplyr
và modeest::mlv
nhưng không hoạt động như dự kiến. Heres một số dữ liệu mẫu;Cách lấy chế độ của một nhóm được tóm tắt trong R
source CPTCode ParNonPar Key net_paid PaidFreq seq
ABC 100 Y ABC100Y -341.00 6 1
ABC 100 Y ABC100Y 0.00 2 2
ABC 100 Y ABC100Y 341.00 6 3
XYZ 103 Y XYZ103Y 740.28 1 1
XYZ 104 N XYZ104N 0.00 2 1
XYZ 104 N XYZ104N 401.82 1 2
XYZ 104 N XYZ104N 726.18 1 3
XYZ 104 N XYZ104N 893.00 1 4
XYZ 104 N XYZ104N 928.20 2 5
XYZ 104 N XYZ104N 940.00 2 6
và mã
str(data)
View(data)
## Expand frequency count to individual observations
n.times <- data$PaidAmounts
dataObs <- data[rep(seq_len(nrow(data)), n.times),]
## Calculate mean for each CPTCode (for mode use modeest library)
library(dplyr)
library(modeest)
dataSummary <- dataObs %>%
group_by(ParNonPar, CPTCode) %>%
summarise(mean = mean(net_paid),
median=median(net_paid),
mode = mlv(net_paid, method=mfv),
total = sum(net_paid))
str(dataSummary)
Tôi nghĩ tôi có thể tải modeest trong hàm Tóm tắt với giá trị trung bình và trung bình, nhưng công thức này lỗi với Lỗi trong as.character (x): không thể ép buộc loại 'đóng cửa' để vector của loại 'nhân vật' Nếu không có mlv tôi nhận được một df như thế này, nhưng những gì tôi muốn là để có được tất cả các số liệu thống kê cho một người thanh toán cpt trên một dòng. Tôi hình dung vẽ đồ thị nó trong boxplots bằng cách giới hạn x và y phân đoạn, một khi tôi có được những gì tôi cần trên một hàng
câu trả lời đầy đủ là thế này (tôi quên để có được tên người thanh toán tại đây!)
ParNonPar CPTCode mean median(net_paid) total
N 0513F 0.000000 0.000 0.00
N 0518F 0.000000 0.000 0.00
N 10022 0.000000 0.000 0.00
N 10060 73.660000 90.120 294.64
N 10061 324.575000 340.500 1298.30
N 10081 312.000000 312.000 312.00
thanks very much for your time and effort.