I have been trying to plot a line plot with ggplot. 

My data looks something like this:

```
        I04 F04 I05 F05 I06 F06
CAT     3   12  2   6   6   20
DOG     0   0   0   0   0   0
BIEBER  1   0   0   1   0   0

```

and can be found [here](https://www.dropbox.com/s/npg33kbnjpjudhc/mydata.csv?dl=0).

Basically, we have a certain number of `CAT`s (or other creatures) initially in a year (this is `I04`), and a certain number of `CAT`s at the end of the year (this is `F04`). This goes on for some time. 

I can plot something like this fairly simply using the code below, and get this:

![enter image description here](https://i.stack.imgur.com/K278B.png)

This is fantastic, but doesn't work very well for me. After all, I have these staring and ending inventory for each year. So I am interested in seeing how the initial values (`I04, I05, I06`) change over time. So, for each animal, I would like to create two different lines, one for initial quantity and one for final quantity (`F01, F05, F06`). This seems to me like now I have to consider two factors.

This is really difficult given the way my data is set up. I'm not sure how to tell ggplot that all the `I` prefixed years are one factor, and all the `F` prefixed years are another factor. When the dataframe gets melted, it's too late. I'm not sure how to control this situation. 

Any advice on how I can separate these values or perhaps another, better way to tackle this situation?

Here is the code I have: 

```
library(ggplot2)
library(reshape2)

DF <- read.csv("mydata.csv", stringsAsFactors=FALSE)

## cleaning up, converting factors to numeric, etc
text_names <- data.frame(as.character(DF$animals))
names(text_names) <- c("animals")
numeric_cols <- DF[, -c(1)]
numeric_cols <- sapply(numeric_cols, as.numeric)
plot_me <- data.frame(cbind(text_names, numeric_cols))
plot_me$animals <- as.factor(plot_me$animals)
meltedDF <- melt(plot_me)

p <- ggplot()
p <- p + geom_line(aes(seq(1:36), meltedDF$value, group=meltedDF$animals, color=meltedDF$animals))
p

```