簡體   English   中英

重命名 R 中的列名

[英]Renaming Column Names in R

我想從我的數據框中重命名我的列,這些列具有重復的列名,其中我的列是 a、b 和 c。

 df>
 a  b  c  a  b  c
 1  6 11  1  4  4
 2  7 12  2  8  12
 3  8 13  3  7  7
 4  9 14  5  7  11
 5 10 15  44 2  13

我可以通過取出列 1:3 作為 df1 來更改列名,但是如果我有 1000 個列名要更改,有沒有辦法循環它?

df1 <- df[,1:3]
colnames(df1) <- paste(colnames(df1), "test1" , sep = '_')

如果您知道相同的 3 個列名以相同的順序重復,則可以在此處使用repeach選項:

namenums <- rep(1:(ncol(df1)/3), each=3)
colnames(df1) <- paste0(colnames(df1), "_test", namenums)
df1

  a_test1 b_test1 c_test1 a_test2 b_test2 c_test2
1       1       6      11       1       6      11
2       2       7      12       2       7      12
3       3       8      13       3       8      13
4       4       9      14       4       9      14
5       5      10      15       5      10      15

數據:

df <- data.frame(a=c(1:5), b=c(6:10), c=c(11:15), a=c(1:5), b=c(6:10), c=c(11:15))
names(df) <- c("a", "b", "c", "a", "b", "c")

我們可以使用make.unique

names(df) <- make.unique(names(df))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM