I'm trying to figure out how to do some basic math with a data frame.
I have a data frame that looks like this:
| 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 |
I want to calculate the "percent different" between 'Case 1 and 2' and then also 'Case 3 and 4' for each Version. So for 1.0.1 it would do this math: (110-53)/(.5*(110+53))
Ultimately it would end up with a table that looked like this:
| 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: Here's a working example of the first table to use.
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)