【发布时间】:2020-05-28 08:59:33
【问题描述】:
我有一个格式如下的数据框:
val1 = c(.35, .36, .35, .22, .27, .25)
val2 = c(.35, .35, .37, .40, .42, .46)
val3 = c(.88, .9, .87, .35, .35, .36)
val4 = c(.9, .91, .82, .36, .36, .36)
df = data.frame (val1, val2, val3, val4)
colnames(df)[1] = "group 1_31"
colnames(df)[2] = "group 1_32"
colnames(df)[3] = "group 2_32"
colnames(df)[4] = "group 10_310"
我知道这些列名不太理想,但不幸的是,它们是由我正在运行的程序自动提供的。我想重命名每一列,使组 a_bc 变为 bca,如下所示:
colnames(df)[1] = "311"
colnames(df)[2] = "321"
colnames(df)[3] = "322"
colnames(df)[4] = "31010"
我知道我可以通过以下方式摆脱“群体”:
colnames(df)=sub("group ","",colnames(df))
但这仍然给我留下了“1_31”、“1_32”等。
有没有办法在所有列名中自动将 a_bc 转换为 bca(我有 55 个需要这种转换)?
我已阅读Rename Dataframe Column Names in R using Previous Column Name and Regex Pattern,但我认为我的情况有所不同,因为我需要对现有列名重新排序,而不仅仅是在特定位置将它们切断。
【问题讨论】: