Разница не между векторами против тибблов, а между векторами и списками (тиббл / фреймы данных - особый вид списка).
Векторы могут содержать данные только одного класса. Следовательно, все значения a
становятся символами, что является наиболее распространенным классом, но это не относится к фреймам данных / таблицам, где они могут хранить данные разных классов в разных столбцах.
a<- c(1,0,"t")
a
#[1] "1" "0" "t"
class(a)
#[1] "character"
sapply(df, class)
# a b c
# "numeric" "numeric" "character"