I assume you imported the data using the raster package. If not you should have a look here
If you haven't imported the landsat data as a stack. you could do the following.
s <- stack('path_to_your_file')
s[s==value] <- NA
writeRaster(s, filename, format, ...)
Where "value" is your negative value around the scene. In my example it is replaced by NA. You could also use another value like 0.
If you want to do the same for the single bands (assuming they use 0 for the background) before calculation. You can do the following:
r <- raster('path_to_band_x_file')
r[r==0] <- NA
writeRaster(r, filename, format, ...)
You can use the "dir" function and a for loop to loop through the single bands.