Я хотел бы взять входные данные из фрейма данных с переменной systemName
и переменной popNum
и использовать это для генерации именованного списка векторов, элементами которых являются случайные числа (1-6) * 5 т.е. (5, 10, 15, 20, 25, 30), где длина вектора равна popNum системы.
Работает следующий код:
## Data
#Create a vector of integers
popNum <- c (2,5,3,9)
#Create corresponding names
systemNames <- c("Ruie", "Regina", "Roupe", "Efate")
# form up into a recatangular data frame
dataSource <- cbind.data.frame(systemNames,popNum )
## Create and Fill the List
#initialise the list
availableCargoes <- vector( mode = "list", length = nrow(dataSource))
#name the list
names(availableCargoes) <- dataSource$systemNames
#fill the list
for (loopCounter in 1:nrow(dataSource)) {
availableCargoes[[loopCounter]] <- sample.int( n = 6,
size = dataSource$popNum[loopCounter],
replace = TRUE) * 5
}
Как я могу избавиться от цикла for через что-то из семейства apply или пакета purrr?Проблема, с которой я сталкиваюсь с трудностями, заключается в том, что за X
над lapply
работает sample.int
?Как передать вектор popNum
в качестве аргумента для управления размером результирующих векторов?