Ваш вывод имеет другое количество строк для вашего ввода, поэтому попытка превратить последний в первый вызовет проблемы.Просто создайте новый фрейм данных:
df <- data.frame(x = c(df$var1, df$var2, df$var3)
Вы также можете поиграть с do.call
, воспользовавшись тем, что фрейм данных представляет собой список под капотом:
df <- data.frame(x = do.call("c", df))