从新数据框的列名称中删除“X”字母

fir*_*o23 5 r

我正在尝试对每个数据进行分组year和求和,但是当创建新数据框时,列名称以恼人的“X”开头,例如“ ”而不是。当然,我可以在创建后将其删除或替换为“”,但我希望不要从一开始就创建它,因为此方法将应用于具有更多列的数据帧。 weightyearX20002000

library(tidyverse)

year<-c("2000","2000","2001","2002","2000","2002")
weight<-c(0.5,0.7,0.8,0.7,0.6,0.9)
YG<-data.frame(year,weight)


w<-data.frame(YG %>%
                     group_by(year) %>%
                     summarise(n = round(sum(weight)),
                               g = n()) %>%
                     select(-g) %>%
                     spread(year, n, fill = 0))
Run Code Online (Sandbox Code Playgroud)

Jul*_*ora 8

虽然不太建议,但您想要的是check.names = FALSEdata.frame通话中:

data.frame(YG %>% group_by(year) %>%
             summarise(n = round(sum(weight)), g = n()) %>%
             select(-g) %>% spread(year, n, fill = 0), 
           check.names = FALSE)
#   2000 2001 2002
# 1    2    1    2
Run Code Online (Sandbox Code Playgroud)

  • 很高兴知道有这个选项。使用“as.data.frame”(无选项)也可以 (2认同)