2017-08-02 89 views
-2

我想运行一个循环来更改我的数据中两列的名称,但这两列的名称以数字开头。对于同样的工作,我改变了他们(他们不是以一个数字开头)写作如下所示,但它不起作用。更改以数字开头的列名

这里是代码(循环后完成):

#Filtering 

for(i in 1:length(names$ID)){ 
    f<-names$ID[[i]] 
    corrpoints<-sprintf("corrpoints%i",as.numeric(levels(f))[f]) 
    pts=readOGR(dsn="C:/Users/Charlie/Desktop/Stage_permafrost/SIG/Quantification_des_mouvements/Corr_points_disp/Corr_points_ubaye", layer=corrpoints) 
    pts$Gvalue2004<-pts$2004_red_gr 
    pts$Gvalue2012<-pts$2012_red_gr 
    pts$Aspect_mnt<-pts$Aspect_25m_ 

我如何能解决这个任何想法?

谢谢

+0

https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – JanLauGe

+0

'PTS $ \'2004_red_gr \''或'点$ '2004_red_gr' '... – jogo

回答

0

您的示例对我们来说不可重现。 列名CAN可以以数字开头。如下所示在名称周围使用勾号来访问它。这是否是一个好主意是一个完全不同的故事。

x <- mtcars 
colnames(x)[1] <- '1mpg' 
x$`1mpg`