我在 R 中有一个包含 84 层的栅格堆栈/砖块,我试图根据从 199911 到 200610(1999 年 11 月到 2006 年 10 月)的年份和月份来命名它们。然而,由于某种原因,R 不断在我给图层指定的任何名称的开头添加“X”。
有谁知道为什么会发生这种情况以及如何解决它?以下是我尝试过的一些方法:
# Import raster brick
rast <- brick("rast.tif")
names(rast)[1:3]
[1] "MonthlyRainfall.1" "MonthlyRainfall.2" "MonthlyRainfall.3"
## Method 1
names(rast) <- paste0(rep(1999:2006, each=12), 1:12)[11:94]
names(rast)[1:3]
[1] "X199911" "X199912" "X20001"
## Method 2
# Create a vector of dates
dates <- format(seq(as.Date('1999/11/1'), as.Date('2006/10/1'), by='month'), '%Y%m')
dates[1:3]
[1] "199911" "199912" "200001"
# Set names
rast <- setNames(rast, dates)
names(rast)[1:3]
[1] "X199911" "X199912" "X200001"
## Method 3
names(rast) <- paste0("", dates)
names(rast)[1:3]
[1] "X199911" "X199912" "X200001"
## Method 4
substr(names(rast), 2, 7)[1:3]
[1] "199911" "199912" "200001"
names(rast) <- substr(names(rast), 2, 7)
names(rast)[1:3]
[1] "X199911" "X199912" "X200001"
在某种程度上,我已经能够通过在其他一些数据的开头添加“X”来解决这个问题,但现在已经到了我不能再这样做的地步。任何帮助将不胜感激!
R 不允许列以数字开头,因此它会在前面添加一个字符来避免该限制。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)