使用dplyr重命名df中的所有变量并删除第一个观察

时间:2017-04-06 15:31:06

标签: r dataframe pipe dplyr rename

我从csv文件导入了一个数据框。数据框看起来很难看。我想用第一次观察的值重命名所有变量并删除第一次观察。我的一位同事给了我一个关于这段代码的想法。

colnames(df) <- lapply(df[1, ], as.character)
df <- df[-1,] 

上面的代码完美无缺,但我喜欢dplyr :-)有没有办法用管道和dplyr做同样的事情?

PS:如果我说些蠢话,请提前抱歉。我是R的初学者,这是我在Stack Overflow中的第一个问题。

1 个答案:

答案 0 :(得分:1)

set.seed(1984)

require(dplyr)

## simulating a data frame

df <- data.frame(a = 1:10,
                b = sample(LETTERS,10, replace = T),
                c = sample(letters,10, replace = T), 
                stringsAsFactors = F)




  head(df)


     a b c
   # 1 1 P y
   # 2 2 A j
   # 3 3 P o
   # 4 4 W u
   # 5 5 U a
   # 6 6 E k

df %>% 
  filter(row.names(.) == 1)  %>%
  as.character(.) -> names(df)

df



   #     1 P y
   # 1   1 P y
   # 2   2 A j
   # 3   3 P o
   # 4   4 W u
   # 5   5 U a
   # 6   6 E k
   # 7   7 W o
   # 8   8 P h
   # 9   9 N b
   # 10 10 O f