После чтения набора данных (read.csv
из base R
или fread
из data.table
или read_csv
из rowr
) создайте столбец имен столбцов после группировки по 'col1', а затем spread
«col2» с «colN»
library(tidvyerse)
df1 %>%
group_by(col1) %>%
mutate(colN = str_c("newcol_", row_number())) %>%
spread(colN, col2)
# A tibble: 5 x 3
# Groups: col1 [5]
# col1 newcol_1 newcol_2
# <int> <dbl> <dbl>
#1 1 6.5 13
#2 2 12 6
#3 3 9 2.8
#4 4 16.2 26
#5 5 7.5 30
Данные
df1 <-structure(list(col1 = c(1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L
), col2 = c(6.5, 12, 9, 16.2, 7.5, 13, 6, 2.8, 26, 30)),
class = "data.frame", row.names = c(NA,
-10L))