我正在嘗試在數據框中更改一些選定的變量名稱。我怎樣才能做到這一點,而無需輸入每個舊名稱和每個新名稱?我認爲下面的代碼可能工作,但它沒有。我正試圖將「Econ」附加到數據框中標識的每個現有名稱。如何將字符串附加到R中的變量名稱的子集?
names(wb.misc)[3,13,14,20,22,47,61,62,64,68,73] <-
paste("Econ", names(wb.misc)[3,13,14,20,22,47,61,62,64,68,73], sep = "-")
我正在嘗試在數據框中更改一些選定的變量名稱。我怎樣才能做到這一點,而無需輸入每個舊名稱和每個新名稱?我認爲下面的代碼可能工作,但它沒有。我正試圖將「Econ」附加到數據框中標識的每個現有名稱。如何將字符串附加到R中的變量名稱的子集?
names(wb.misc)[3,13,14,20,22,47,61,62,64,68,73] <-
paste("Econ", names(wb.misc)[3,13,14,20,22,47,61,62,64,68,73], sep = "-")
你需要把c()
圍繞指數
names(wb.misc)[c(3,13,14,20,22,47,61,62,64,68,73)] = paste("Econ", names(wb.misc)[c(3,13,14,20,22,47,61,62,64,68,73)], sep = "-")
謝謝。那就是訣竅。我應該抓住那個。 – DBK 2013-02-23 22:43:19
一種方法最有效地獲得變量名是使用dput(names(df))
其中df
是你data.frame。
例如,使用內置的數據集airquality
,你可以做以下
dput(names(airquality))
它給你:
c("Ozone", "Solar.R", "Wind", "Temp", "Month", "Day")
然後,您可以編輯,提取所需的列,而不必從頭開始輸入。例如,假設你想重命名以下三個變量,你可以在gdata
中使用rename.vars
。
vars <- c("Ozone", "Wind", "Temp")
library(gdata)
rename.vars(airquality, from=vars, to=paste0("Econ", vars))
使用實際變量名稱通常也會使您的代碼更可靠。
你能更具體嗎?你會得到什麼錯誤? – alexwhan 2013-02-23 22:14:18
歡迎來到SO :) [你可能會喜歡#005](http://www.twotorials.com/) – 2013-02-23 22:31:47