小编sst*_*tww的帖子

使用第一行数据作为r中的列名

这应该是一个容易的问题,但我遇到了麻烦.我有一个脏的数据集,我无法阅读它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,):维度的数目不正确

有人可以帮忙吗?

r names

13
推荐指数
7
解决办法
3万
查看次数

使用ggplot2的简单自定义绘图功能:错误:美学长度必须为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

什么地方出了错?

r ggplot2

0
推荐指数
1
解决办法
846
查看次数

标签 统计

r ×2

ggplot2 ×1

names ×1