For you to get read.table to work you will need fill = TRUE. The problem however is that it will still struggle to parse the file correctly as it ends up with 242197 observations x 34 variables. When we look at the file we are expected to see 649925 observations x 34 which read_csv and read_delim achieves. I would rather use either instead of read.table here in this instance.
data = read.table("ODI 2002-2011.csv", header = TRUE, fill = TRUE, sep = ',')
library(readr)
df <- read_csv("ODI 2002-2011.csv")
df2 <- read_delim("ODI 2002-2011.csv", delim = ",", col_names = TRUE)