Если у нас есть альтернативные столбцы (при условии, что у нас есть объект, созданный в R путем чтения файла .csv
с read.csv/read.table
), то разделите на строку с asplit
, исключая первый столбец 'id' столбца, и создайте именованный вектор с setNames
lst1 <- Map(setNames, asplit(df1[-1][c(FALSE, TRUE)], 1),
asplit(df1[-1][c(TRUE, FALSE)], 1))
names(lst1) <- df1[[1]]
lst1$id1
# AA AG GG
# 44 20 36
data
df1 <- structure(list(id = c("id1", "id2", "id3"), v1 = c("AA", "CC",
"AA"), v2 = c(44L, 30L, 60L), v3 = c("AG", "CT", "AG"), v4 = c(20L,
22L, 30L), v5 = c("GG", "TT", "GG"), v6 = c(36L, 48L, 10L)),
class = "data.frame", row.names = c(NA,
-3L))