Поскольку вы изменили свои данные, вы можете попробовать это:
Table<-data.frame(A = c("2000", "2001", "2002", "2003", "2004"))
Table$B = (as.numeric(as.character(Table$A))-2000)*4
Если у вас нет такого шаблона, вы можете сгенерировать список значений, соответствующих A и B, и объединитьих:
match_list<-data.frame(A = c("2000", "2001", "2002", "2003", "2004"),
B = c(0, 4, 8, 16, 20))
merge(Table, match_list, by = "A") # Table itself does not have B at this stage
Это может сохранить только некоторые набор текста.