这应该是一个容易的问题,但我遇到了麻烦.我有一个脏的数据集,我无法阅读它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,):维度的数目不正确
有人可以帮忙吗?
下面的工作,它根据数据的顺序绘制一列数据:
s<-data.frame(t=c(3, 50, 20, 100, 7, 80))
ggplot(s, aes(y=s$t, x=seq(1, length(s$t)))) +
geom_point()+
geom_hline(yintercept =10)
Run Code Online (Sandbox Code Playgroud)
因为我有很多这样的数据,所以我想将其放在一个函数中以便可以重用,如下所示:
plot1<-function(a, b, c){
ggplot(a, aes(y=a$b, x=seq(1, length(a$b)))) +
geom_point()+
geom_hline(yintercept =c)
}
Run Code Online (Sandbox Code Playgroud)
但是,以下操作无效:
s<-data.frame(t=c(3, 50, 20, 100, 7, 80))
plot1(s, t, 10)
Run Code Online (Sandbox Code Playgroud)
而是,它产生以下错误消息:错误:美学必须为长度1或与数据(6)相同:x,y
什么地方出了错?