There is nothing wrong with your syntax. I copied it to my own dataset and changed the dataframe name and variable name and altered the min/max value and it worked perfectly.
Your problem lies in your assumption that your dataset does not contain any missings. I'll demonstrate using an example dataset (like Victor K. argues).
id <- c(1:10)
waterused <- c(0, 10, 20, 60, 80, 91, 92, 93, 94, 4565)
classInt <- classIntervals(ww[["waterused"]],
n=5, style="fixed", fixedBreaks=c(0,25,50,75,100,4565))
This results in no errors + you can check so by running:
str(classInt)
To replicate your error I'll now add a missing value to 'waterused':
ww$waterused[3] <- NA
table(is.na(ww$waterused)) # 1 missing and 9 non-missing values
classInt.na <- classIntervals(ww[["waterused"]],
n=5, style="fixed",
fixedBreaks=c(0,25,50,75,100,4565))
This results in precisely the same error you report. So please check again for any NA's in your 'waterused' variable.