阅读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
是的,我缺少的魔法是矩阵上的转置方法。谢谢