在R for Mac中我正在尝试创建一个bash文件,通过在R外部双击,在R中设置的特定路径目录中创建文件夹。文件夹的数量应该等于向量(在R中设置) )。以下代码在R中用于Windows,但只是将扩展名“.bat”替换为“.sh”似乎不起作用。
vec <- c(1,1,1)
bat<-matrix(nrow=length(vec),ncol=2,0)
for (i in 1:length(vec)){
bat[i,1]<-"md"
bat[i,2]<-gsub("/","/",paste(saveloc,"/",vec[i],sep=""),fixed=T)
}
write.table(bat,paste(saveloc,"/","individual names.bat",sep=""),sep=" ",dec=dec,row.names=F,col.names=F,quote=2)
“Saveloc”是路径目录。我有什么想法可以在mac上实现这个目标吗?
非常感谢任何帮助。
答案 0 :(得分:1)
以下是如何在没有shell脚本的情况下在R中执行此操作:
# make up a small nested folder structure
dirsToCreate <- cbind(
rep("top", 6),
rep(c("middle1", "middle2"), each=3),
rep(c("bottom1", "bottom2", "bottom3"), 2)
)
dirsToCreate <- apply(
dirsToCreate, 1, function(x) paste(x, collapse="/"))
# here are the folders we will create
dirsToCreate
[1] "top/middle1/bottom1" "top/middle1/bottom2"
[3] "top/middle1/bottom3" "top/middle2/bottom1"
[5] "top/middle2/bottom2" "top/middle2/bottom3"
# now actual creation, in a loop
for (d in dirsToCreate) {
dir.create(d, recursive = TRUE)
}