如何使用管道操作符管道替换功能colnames()<-?
这是我正在尝试做的事情:
library(dplyr)
averages_df <-
group_by(mtcars, cyl) %>%
summarise(mean(disp), mean(hp))
colnames(averages_df) <- c("cyl", "disp_mean", "hp_mean")
averages_df
# Source: local data frame [3 x 3]
#
# cyl disp_mean hp_mean
# 1 4 105.1364 82.63636
# 2 6 183.3143 122.28571
# 3 8 353.1000 209.21429
Run Code Online (Sandbox Code Playgroud)
但理想情况下它会是这样的:
averages_df <-
group_by(mtcars, cyl) %>%
summarise(mean(disp), mean(hp)) %>%
add_colnames(c("cyl", "disp_mean", "hp_mean"))
Run Code Online (Sandbox Code Playgroud)
有没有办法在没有每次编写专业功能的情况下这样做?
这里的答案是一个开始,但不完全是我的问题:在dplyr中链接算术运算符
这应该是一个容易的问题,但我遇到了麻烦.我有一个脏的数据集,我无法阅读它header=T.在我阅读并清理它之后,我想使用现在的第一行数据作为列名.我在stackoverflow上尝试了多种方法但没有成功.可能是什么问题呢?t1清理后,数据集应如下所示:
V1 V2 V3 V4 V5
1 col1 col2 col3 col4
2 row1 2 4 5 56
3 row2 74 74 3 534
4 row3 865 768 8 7
5 row4 68 86 65 87
Run Code Online (Sandbox Code Playgroud)
我试过了:colnames(t1)=t1[1,].什么都没发生.
我试过:names(t1)=ti[1,],什么都没发生.
我试过了: lapply(t1, function(x) {names(x)<-x[1,]; x})
它返回一条错误消息:
误差在
[.default(X,1,):维度的数目不正确
有人可以帮忙吗?