A base
way
df <- cbind.data.frame(split(Table, 1:nrow(Table)))
names(df) <- sub("(\\d+)\\.(\\D+)", "\\2\\1", names(df))
# State1 Customer1 State2 Customer2 State3 Customer3 State4 Customer4
# 1 US 1980 FR 274 DE 641 UK 521
Другой вариант использования purrr::imap_dfc
library(purrr)
imap_dfc(split(Table, 1:nrow(Table)), ~ set_names(.x, paste0, .y))
# State1 Customer1 State2 Customer2 State3 Customer3 State4 Customer4
# 1 US 1980 FR 274 DE 641 UK 521
Данные
Table <- structure(list(State = structure(c(4L, 2L, 1L, 3L), .Label = c("DE",
"FR", "UK", "US"), class = "factor"), Customer = c(1980, 274,
641, 521)), class = "data.frame", row.names = c(NA, -4L))