Ich versuche herauszufinden, wie man einige grundlegende Mathematik mit einem Datenrahmen zu tun.Berechnung der prozentualen Differenz von R Datenrahmen
Ich habe einen Datenrahmen, der wie folgt aussieht:
| Version | Total | Case |
|---------|-------|--------|
| 1.0.1 | 110 | Case 1 |
| 1.0.2 | 111 | Case 1 |
| 1.0.3 | 114 | Case 1 |
| 1.0.4 | 114 | Case 1 |
| 1.0.5 | 113 | Case 1 |
| 1.0.1 | 53 | Case 2 |
| 1.0.2 | 53 | Case 2 |
| 1.0.3 | 56 | Case 2 |
| 1.0.4 | 57 | Case 2 |
| 1.0.5 | 55 | Case 2 |
| 1.0.1 | 110 | Case 3 |
| 1.0.2 | 111 | Case 3 |
| 1.0.3 | 113 | Case 3 |
| 1.0.4 | 114 | Case 3 |
| 1.0.5 | 113 | Case 3 |
| 1.0.1 | 52 | Case 4 |
| 1.0.2 | 53 | Case 4 |
| 1.0.3 | 56 | Case 4 |
| 1.0.4 | 57 | Case 4 |
| 1.0.5 | 55 | Case 4 |
Ich mag die „Prozent anders“ zwischen ‚Fall 1 und 2‘ und dann auch ‚Fall 3 und 4‘ für jede Version berechnen. Also für 1.0.1 wäre es diese Mathematik tun: (110-53)/(.5*(110+53))
Letztlich wäre es mit einem Tisch am Ende, die wie folgt aussah:
| Version | Total | Case |
|---------|-------|------------|
| 1.0.1 | 70% | Case 1 & 2 |
| 1.0.2 | 71% | Case 1 & 2 |
| 1.0.3 | 68% | Case 1 & 2 |
| 1.0.4 | 67% | Case 1 & 2 |
| 1.0.5 | 69% | Case 1 & 2 |
| 1.0.1 | 72% | Case 3 & 4 |
| 1.0.2 | 71% | Case 3 & 4 |
| 1.0.3 | 67% | Case 3 & 4 |
| 1.0.4 | 67% | Case 3 & 4 |
| 1.0.5 | 69% | Case 3 & 4 |
EDIT: Hier ist ein Arbeitsbeispiel der ersten Tabelle zu verwenden, .
Version <- c('1.0.1', '1.0.2', '1.0.3', '1.0.4', '1.0.5', '1.0.1', '1.0.2', '1.0.3', '1.0.4', '1.0.5', '1.0.1', '1.0.2', '1.0.3', '1.0.4', '1.0.5', '1.0.1', '1.0.2', '1.0.3', '1.0.4', '1.0.5')
Total <- c(110, 111, 114, 114, 113, 53, 53, 56, 57, 55, 110, 111, 113, 114, 113, 52, 53, 56, 57, 55)
Case <- c('Case 1', 'Case 1', 'Case 1', 'Case 1', 'Case 1', 'Case 2', 'Case 2', 'Case 2', 'Case 2', 'Case 2', 'Case 3', 'Case 3', 'Case 3', 'Case 3', 'Case 3', 'Case 4', 'Case 4', 'Case 4', 'Case 4', 'Case 4')
df <- data.frame(Version, Total, Case)
Das könnte Sie ernsthaft helfen http://stackoverflow.com/questions/3505701/r-grouping-functions-sapply- vs-lapply-vs-apply-vs-tapply-vs-by-vs-aggrega. Die 'Apply'-Familie von Funktionen ist wesentlich, um R richtig zu verwenden. –
Ich denke schmelzen und werfen wäre hilfreich. Ich fertige gerne eine Antwort an, aber bitte fügen Sie einige Beispieldaten in einer reproduzierbaren Weise hinzu, so dass Poster darauf zugreifen können (ohne die Textdaten manuell einzugeben). http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example wird Ihnen helfen! – Joy
@Joy Siehe meine Bearbeitung. – David