用于将数字和字母的自定义列表导出到 Excel 中的 R 脚本

R script for exporting custom list of numbers and letters into Excel

为了帮助我完成一些常规的标签制作和打印工作,我希望编写一个脚本,允许我输入一系列序列号(一些带有字符串标识符),我可以使用特定的序列号导出这些序列号格式为 Excel。例如,如果我输入的范围为“1:16”,我将在 Excel 中查找与以下完全相同的输出:

对于每个唯一的序列号(即 1 到 16),前五行必须标有“U”,接下来的三行标有 'F',最后两行必须是数字单独。最终导出的矩阵将是 n 列 x 21 行,其中 n 将根据我输入的数字范围而变化。

我的主要问题是写给Excel。我无法找到如何自定义此输出并写入特定的行和列,如上例所示。由于我在企业安全工作站工作,因此我只能使用 'openxlsx'。这是我目前所拥有的:

Unfiltered <- rep (1 : 16, each = 5)
UnfilteredLabel <- paste (Unfiltered, "U")
UnfilteredLabel

Filtered <- rep (1 : 16, each = 3)
FilteredLabel <- paste (Filtered, "F")
FilteredLabel

Number <- rep (1 : 16, each = 2)
NoLabel <- paste (Number, "")
NoLabel

install.packages("openxlsx")
library(openxlsx)

write.xlsx(UnfilteredLabel, 'test.xlsx', append = TRUE)
write.xlsx(FilteredLabel, 'test.xlsx', append = TRUE)
write.xlsx(NoLabel, 'test.xlsx', append = TRUE)

如果您能提供任何帮助,我们将不胜感激,在此先致谢!

不是最干净的代码。试一试:

aa<-data.frame(matrix(c(1:16), byrow=F, ncol=4))
mm<-lapply(aa,function(x){
  ac<-mapply(rep,list(x), list(5,3,2))
  xy<-mapply(paste,ac,list("U","F",""), sep="")  
  xy<-matrix(unlist(xy), byrow=T,ncol=4)
})
fst<-do.call("rbind", list(mm[[1]],"",mm[[2]]))
snd<-do.call("rbind", list(mm[[3]],"",mm[[4]]))
mm<-do.call("cbind", list(fst,"",snd))
openxlsx::write.xlsx(mm, 'test.xlsx', append = TRUE)