我在矢量中指定物种的名称
sp1 <- Basper
直接访问文件,例如:
occ_sp1 <- read.table (paste ("H: / Botrops_p /", sp1, '. txt', sep = ""),
header = TRUE, sep = "\ t")
all.species <-list.files("H:/Sim_crotalus/Crota.puntos.pam",pattern=".txt")
sp.names <- gsub(".txt","",all.species)
sp.combn <- combn(sp.names,2)
sp.combn
resul <- matrix(nrow=406,ncol=7,byrow=TRUE)
colnames(resul) <- c("D1","D2","p.D1","p.D2")
for(i in 1:ncol(sp.combn)){
print(i)
sp1 <- sp.combn[1,i]
sp2 <- sp.combn[2,i]
occ_sp1 <- read.table(paste("H:/E_Crotalus/par1/",sp1,'.txt',sep = ""), header=TRUE,sep="\t")
occ_sp2 <- read.table(paste("H:/E_Crotalus/par1/",sp2,'.txt',sep = ""), header=TRUE,sep="\t")
clim2 <- stack(list.files(path="H:/Crotalus_pam/M2/Caqui", pattern='.asc',full.names = TRUE))
w我需要访问与 sp1 相同名称的文件夹(子目录)来堆叠我尝试过的光栅文件
setwd ("H: / Botrops_p / Basper")
clim2 <- stack (list.files (pattern = '. asc', full.names = TRUE))
有些方法可以避免将文件夹的名称放在setwd()
中,并将其开头与分配的 sp1 关联
我有一个物种列表,如果是txt文件,我将组合成对物种,这没问题,因为我将文件名分配给矢量sp1 <-Catrox
但是对于.asc,它们是不同的文件夹,例如具有sp1的相同名称,在这种情况下为Catrox,每个文件夹包含6个栅格
在这种情况下,我将不得不手动更改名称Caqui
有一些方法可以将文件夹识别为同名文件
答案 0 :(得分:0)
最后!我对蛇和R的兴趣交叉了!
在没有看到磁盘上目录和文件的结构的情况下,很难准确地知道您需要做什么,但是遵循以下几条原则可能会有所帮助:
# If sp1 is 'Caqui', this will return the paths of all .asc files
# in the 'H:/Crotalus_pam/M2/Caqui/' directory:
thisDir <- paste("H:/Crotalus_pam/M2/", sp1, sep="")
clim2 <- stack(list.files(path=thisDir, pattern='.asc', full.names=TRUE))
如果您仍然遇到问题,请使用更多详细信息(尤其是有关文件和目录的组织方式的详细信息)来更新您的问题。