2017-08-02 92 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`