Если я понимаю вопрос, следующий сделает то, что вы хотите.
Сначала создайте набор данных, поскольку вы еще не опубликовали его в форме для простого копирования и вставки.
set.seed(12345) # Make the results reproducible
Facility_ID <- rep(sprintf("%s%04d", c("P", "P", "W"), c(123, 345, 678)), each = 3)
Col1 <- sample(c("metal", "concrete", "mixed", "c and d", "municipal"), 9, TRUE)
Col2 <- sample(10, 9, TRUE)
Col3 <- sample(c("yes", "no"), 9, TRUE)
Transfers_ALL <- data.frame(Facility_ID, Col1, Col2, Col3)
Теперь код.
write_sp_ALL <- function(DF, df_name){
m <- as.data.frame(matrix('', nrow = 60, ncol = 60), stringsAsFactors = FALSE)
nr <- nrow(DF)
# places values in specific cells in the new empty matrix.
m[seq_len(nr), 3] <- as.character(DF[["Facility_ID"]])
m[seq_len(nr), 8] <- as.character(DF[["Col1"]])
file_name <- paste0("mywb", df_name, ".xlsx")
XLConnect::writeWorksheetToFile(file_name, m, sheet = "Sheet1",
startRow = 13, startCol = 1,
header = FALSE)
}
sp_ALL <- split(Transfers_ALL, Transfers_ALL[[1]])
nms <- names(sp_ALL)
lapply(seq_along(sp_ALL), function(i)
write_sp_ALL(sp_ALL[[i]], nms[i]))