Though this is technique/style only, your indentation is inconsistent and non-standard; consider using RStudio, ESS, or something else that automates indentation for you. This would likely have helped with #1.

You incorrectly assume that your last line, ibnr_data[i,8] <- yq will know to return all of ibnr_data.

For the last (the culprit), realize that assignment to a variable in R invisibly returns the value actually assigned. This allows chaining of assignment, so that

x <- y <- 5

assigns the value 5 to both x and y. This is equivalent to

x <- (y <- 5)

highlighting the fact that the assignment of 5 to y is done first, it silently returns a 5, which is then assigned to x (and invisibly returned). If you apply this logic to your code, you will see that

obnr_data[i,8] <- yq

is assigning the value of yq (a single string) to a member of the vector ibnr_data. So it is the single string (yq) that is invisibly returned by the assignment, not the contents of the entire vector. (Had you made an assignment of a vector of strings, then that would have been invisibly returned.)