0

我有一个数据框(称为 HumMeth450),其中包含来自多个样本的数据。前五行包含有关样本的详细信息,以下行包含数据本身,例如:

3B26-1          3A25-1-1        
P16 -           P16 -       
3B-26-clone1    3A-25-1-1-100-1     
Beta Value      Beta Value      
Uncorrected     Uncorrected 
0.765508685     0.598394686 
0.814338487     0   

我想将 colnames 设置为包含每列的前五行。

我尝试使用

colnames(HumMeth450)<-as.character(HumMeth450[(1:5),])

并得到了与相应单元格的值不匹配的东西,对于上面引用的两列,我得到了:

c(469032、469023、469031、469033、323649)、c(467282、467273、467281、467283、271454)

我究竟做错了什么?任何帮助将不胜感激。

4

1 回答 1

1

使用您的示例,这里是如何读取 5 行的标题,然后跳过 5 行的数据:

text="3B26-1          3A25-1-1        
P16 -           P16 -       
3B-26-clone1    3A-25-1-1-100-1     
Beta Value      Beta Value      
Uncorrected     Uncorrected 
0.765508685     0.598394686 
0.814338487     0   "

我在此处为示例创建textConnection对象(并且不关闭它们),但您可能需要file='filename'在接下来的两个语句中的每一个中:

a <- read.fwf(file=textConnection(text), width=c(16,16), nrows=5, strip.white=TRUE)
HumMeth450 <- read.table(file=textConnection(text), header=FALSE, skip=5)
colnames(HumMeth450) <- unlist(apply(a, 2, paste, collapse=" "))

> HumMeth450
  3B26-1 P16 - 3B-26-clone1 Beta Value Uncorrected 3A25-1-1 P16 - 3A-25-1-1-100-1 Beta Value Uncorrected
1                                        0.7655087                                             0.5983947
2                                        0.8143385                                             0.0000000
于 2012-12-25T20:13:41.777 回答