R将数据帧中的值分配给组合名称

时间:2012-12-25 18:44:07

标签: r dataframe

我有一个数据框(称为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)

我做错了什么? 任何帮助都将得到解决。

1 个答案:

答案 0 :(得分: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