我正在尝试按year
分组,并对每个weight
的{{1}}求和,但是在创建新数据框时,列名以令人讨厌的“ X”开头,例如“ { {1}}”,而不是year
。当然,我可以在创建后将其删除或将其替换为“ X2000
”,但我不希望一开始就创建它,因为该方法将应用于具有更多列的数据帧。
2000
答案 0 :(得分:3)
虽然不是很明智,但您想要的是check.names = FALSE
通话中的data.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
答案 1 :(得分:1)
另一种选择:new_YG是w
names(new_YG)<-sapply(str_remove_all(colnames(new_YG),"X"),"[")
names(new_YG)
new_YG