[英]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 個列名以相同的順序重復,則可以在此處使用rep
和each
選項:
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.