我正在尝试从R中的向量中的对象中删除空格。使用函数paste
时遇到问题;它给了我a
和space
的对象。
a <- c(1985, 1986, 2004)
i <- 0
while(i<(length(a))) {
i <- i+1
b <- (paste("C:/Users/franc/Documents/Fran/Tesis/Sin sincronizar/Imagenes Landsat/",
a[[i]]))
c <- paste(b,"/Invierno/band3.tif")
(paste(a[[i]],"3")) <- raster(c)
}
c
c的结果是
“ C:/ Users / franc / Documents / Fran / Tesis / Sin sincronizar / Imagenes Landsat / 1985 /Invierno/band3.tif”
代替:
“ C:/ Users / franc / Documents / Fran / Tesis / Sin sincronizar / Imagenes Landsat / 1985 / Invierno / band3.tif”
(问题出在1985年)
答案 0 :(得分:0)
不确定您的最后一步在做什么raster(c)
,但是我建议跳过while循环,并按照注释中的说明使用paste0:
paste0("C:/Users/franc/Documents/Fran/Tesis/Sin sincronizar/Imagenes Landsat/",
c(1985, 1986, 2004),
"/Invierno/band3.tif")
# "C:/Users/franc/Documents/Fran/Tesis/Sin sincronizar/Imagenes Landsat/1985/Invierno/band3.tif"
# "C:/Users/franc/Documents/Fran/Tesis/Sin sincronizar/Imagenes Landsat/1986/Invierno/band3.tif"
# "C:/Users/franc/Documents/Fran/Tesis/Sin sincronizar/Imagenes Landsat/2004/Invierno/band3.tif"
答案 1 :(得分:0)
您需要做的就是将粘贴功能中的'sep'参数设置为“” 这基本上是为了设置要粘贴的对象之间的分隔符。 默认分隔符为空格,因此您需要覆盖它。
a <- c(1985, 1986, 2004)
i <- 0
while(i<(length(a)))
{
i <- i+1
b <- paste("C:/Users/franc/Documents/Fran/Tesis/Sin sincronizar/Imagenes Landsat/", a[[i]] , sep = '')
c <- paste(b,"/Invierno/band3.tif", sep='')
(paste(a[[i]],"3")) <- raster(c)
}
c
这将导致
“ C:/ Users / franc / Documents / Fran / Tesis / Sin sincronizar / Imagenes Landsat / 1985 / Invierno / band3.tif”
答案 2 :(得分:0)
a <- c(1985, 1986, 2004)
#You can use paste0:
paste0("C:/Users/franc/Documents/Fran/Tesis/Sin sincronizar/Imagenes Landsat/", a, "/Invierno/band3.tif")
#[1] "C:/Users/franc/Documents/Fran/Tesis/Sin sincronizar/Imagenes Landsat/1985/Invierno/band3.tif"
#[2] "C:/Users/franc/Documents/Fran/Tesis/Sin sincronizar/Imagenes Landsat/1986/Invierno/band3.tif"
#[3] "C:/Users/franc/Documents/Fran/Tesis/Sin sincronizar/Imagenes Landsat/2004/Invierno/band3.tif"
#or paste:
paste("C:/Users/franc/Documents/Fran/Tesis/Sin sincronizar/Imagenes Landsat/", a, "/Invierno/band3.tif", sep = "")
#[1] "C:/Users/franc/Documents/Fran/Tesis/Sin sincronizar/Imagenes Landsat/1985/Invierno/band3.tif"
#[2] "C:/Users/franc/Documents/Fran/Tesis/Sin sincronizar/Imagenes Landsat/1986/Invierno/band3.tif"
#[3] "C:/Users/franc/Documents/Fran/Tesis/Sin sincronizar/Imagenes Landsat/2004/Invierno/band3.tif"
默认情况下,paste
用空格隔开。