如何在R(Mac)中创建bash文件

时间:2018-02-11 17:22:21

标签: r bash macos

在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上实现这个目标吗?

非常感谢任何帮助。

1 个答案:

答案 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)
}