Manipulate shapefile attribute table using R

I'm not sure I totally understand what you're trying to do. It looks like you just want to add a new column to the attribute table? If this is right, then just treat it like any dataframe.

library(rgdal)
dsn <- system.file("vectors", package = "rgdal")
shp<-readOGR(dsn = dsn, layer = 'cities')
shp$NewAT<-1:nrow(shp)

This works perfectly with a shapefile I have on my system. I typically rely on rgdal to read in my shapefiles, using the readOGR() function. I'm fairly certain the shapefile() function you were calling also calls rgdal.

Edited to add reproducable dataset.