阅读a";翻页;将表格正确插入到data.frame中

阅读a";翻页;将表格正确插入到data.frame中,r,dataframe,R,Dataframe,我有一个以制表符分隔的文件,如下所示: AG-AG AG-CA AT-AA AT-AC AT-AG ... 0.0142180094786 0.009478672985781 0.0142180094786 0.4218009478672 ... splice.pair counts AG.AG 0.01421801 AG.CA 0.009478673 AT.AA 0.01421801 AT.AG

我有一个以制表符分隔的文件,如下所示:

AG-AG   AG-CA   AT-AA   AT-AC   AT-AG   ...
0.0142180094786 0.009478672985781   0.0142180094786 0.4218009478672 ...
splice.pair    counts
AG.AG          0.01421801
AG.CA          0.009478673
AT.AA          0.01421801
AT.AG          0.03317536
...            ...
当我使用read.table将其读入R时,我得到:

nc.tab <- read.table("./percent_splice_pair.tab", sep="\t", header=TRUE)
     AG.AG       AG.CA      AT.AA     AT.AC      AT.AG   ... 
1 0.01421801 0.009478673 0.01421801 0.4218009 0.03317536 ...
到目前为止,我试图将表强制转换成这样的数据帧(使用
data.frame()
)的尝试导致了非常奇怪的结果。我不知道如何将表中的每一行作为一个简单的列表,然后将其用作数据框的列
colnames(nc.tab)
适用于标题,但类似于
nc.tab[1,]
的内容只需再次给我表格+标题即可。我错过了什么明显的东西吗

--编辑--

虽然@Andrie的回答给了我所需的data.frame,但我必须做一些额外的工作,将计数值转换为数值,以便它们在ggplot中正确工作:

nc.tab <- read.table("./percent_splice_pair.tab", header=FALSE, sep="\t")
nc.mat <- t(as.matrix(nc.tab))
sp <- as.character(nc.tab[,2])
c <- as.numeric(as.character(nc.tab[,2]))
nc.dat <- data.frame(Splice.Pair=sp, count=c)

   Splice.Pair       count
1        AG-AG 0.014218009
2        AG-CA 0.009478673
3        AT-AA 0.014218009
4        AT-AC 0.421800948
5        AT-AG 0.033175355

nc.tab您需要以下内容以您想要的方式读取和重塑数据:

  • read.table
    与参数
    header=FALSE一起使用
  • 然后使用函数
    t()
  • 重命名列
代码如下:

x <- read.table(..., header=FALSE)
df <- as.data.frame(t(x))
names(df) <- c("splice.pair", "counts")
df

   splice.pair            counts
V1       AG-AG   0.0142180094786
V2       AG-CA 0.009478672985781
V3       AT-AA   0.0142180094786
V4       AT-AC   0.4218009478672

是的,我缺少的魔法是矩阵上的转置方法。谢谢