Ich möchte Kosten von CPT-Codes von zwei verschiedenen Schadenregulierer vergleichen. Beide haben Par- und Non-Par-Anbieter. Ich verwende dplyr
und modeest::mlv
, aber es funktioniert nicht wie erwartet. Hier einige Beispieldaten;Wie man den Modus einer Gruppe zusammenfasst in 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
und der Code
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)
Ich dachte, ich modeest in der summarise Funktion mit dem Mittelwert und Median, aber diese Formulierung Fehler heraus mit Fehler in as.character laden konnte (x): kann nicht zwingen Typ 'Schließung' zu Vektor des Typs 'Charakter' Ohne mlv bekomme ich eine df wie diese, aber was ich will ist, um alle Statistiken für einen Zahler cpt auf einer Zeile. Ich stelle mir vor der grafischen Darstellung in Boxplots durch die x- und y-Segmente zu begrenzen, sobald ich bekommen, was ich auf einer Reihe benötigen
die unzureichende Antwort ist (ich habe vergessen, hier der Zahler Namen zu erhalten!)
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.