我有一個腳本返回data.table
,它將包含一組列。我想重新命名這些列中的一部分,但如果不是全部都存在,則setnames
會中斷。有沒有什麼方法可以重新命名,而無需循環+錯誤捕捉或與現有名稱相交?當某些列名可能不存在時使用data.table :: setnames()
iris.dt <- data.table(iris)
# First time works fine
setnames(iris.dt, c("Sepal.Length", "Sepal.Width"), c("length", "width"))
# Second time fails because columns no longer exist
setnames(iris.dt, c("Sepal.Length", "Sepal.Width"), c("length", "width"))
# Error in setnames(iris.dt, c("Sepal.Length", "Sepal.Width"), c("length",
# :Items of 'old' not found in column names: Sepal.Length,Sepal.Width
類似setnames(..., allow=T)
會是理想的。
編輯:將其歸類爲FR on Github。