Используйте by
, чтобы разделить фрейм данных по строкам и отменить список для создания именованных векторов. setNames
- изменить имя списка на нужное, а затем использовать list2env
для построения каждого элемента в списке в глобальной среде. Обратите внимание, что b1
~ b3
являются именованными векторами, а не кадрами данных с одной строкой.
lst <- setNames(by(df[1:3,], 1:3, unlist), paste0("b", 1:3))
list2env(lst, .GlobalEnv)
b1
# Group1 Group2 Group3
# -1.4095 -0.9295 -0.6889
b2
# Group1 Group2 Group3
# -0.7400 -0.6498 -0.3269
b3
# Group1 Group2 Group3
# -1.7454 -0.9119 -0.8219
Данные
df <- structure(list(Group1 = c(-1.4095, -0.74, -1.7454, 0.5047, -1.3012),
Group2 = c(-0.9295, -0.6498, -0.9119, -3.4571, -5.9978),
Group3 = c(-0.6889, -0.3269, -0.8219, 0.4003, -0.2422)),
class = "data.frame", row.names = c("brandA", "brandB", "brandC", "sizeM", "sizeL"))