在R中按顺序重命名多个变量

时间:2017-07-28 15:19:40

标签: r rename

我需要重命名数据集中的数百个变量,我正在寻找最有效的方法。导入原始数据时,SAS会生成通用变量名称,如“VarX”,而在R中,它只是“VX”。我的公司正在从SAS迁移到R,旧的SAS代码看起来像这样rename var23-var150=NRx1-NRx128;这会将“var23”重命名为“NRx1”,然后将“var24”重命名为“NRx2”,依此类推。这是SAS中非常有效的速记。我知道我可以使用类似names(data)[x:y] = c("NRx1","NRx"2,etc)的东西从列x到列y读取,沿途重命名每个变量。这意味着我必须写出所有NRx变量,这感觉就像浪费时间。

在NRx之后还有另一组变量,SAS代码看起来像rename var151-var278=TRx1-TRx128;。总而言之,我必须重命名250个变量,我需要一种有效的方法来编写这段代码。我对R很新,所以任何提示和快捷方式都值得赞赏。在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我认为你的初始方法工作正常,但不是输入所有新名称,只需创建一个新的所需名称的简单向量:

names(data)[x:y] = paste0("NRx", 1:128)

您可以轻松修改"之间的内容,当然也可以修改最终数字以满足您的需求。 0中的paste0表示变量命名中没有空格。