Построение превосходного ответа @Vincent Zoonekynd: если целью было использовать floor
для данных, вы можете просто убрать V и вызвать floor
для остальных:
x <- c("499", "499.1", "499.51", "V10.46")
# replace all occurences of "V" with nothing ("") in x:
x.stripped <- gsub("V", "", x)
# convert to numeric so we can use floor():
x.floor <- floor(as.numeric(x.stripped))
Исходя из вашего сообщения об ошибке «не имеет значения для факторов», этот столбец ваших данных был прочитан как строки (из-за «V» в некоторых строках), а поведение R по умолчанию заключается в преобразовании строковых столбцов вфакторы (например, категории).
Если вы получаете сообщение о том, что gsub
не работает с факторами, вам необходимо сначала преобразовать столбец в строки:
mydf$columname <- as.character(mydf$columnname)
А затем вы можете продолжитькак и раньше.