R 如何将一维表转换为具有两列的数据帧
好的,这可能表示我对数据帧表的无知。我有一个名为tbb的表,它由名为mydata的数据框架中的内容组成。 然后,我使用colsums进行一些汇总统计,我希望他们将colsums转换回数据帧。但是,当我这样做时,它似乎只将两列中的一列识别为一列: 这是我的成绩R 如何将一维表转换为具有两列的数据帧,r,R,好的,这可能表示我对数据帧表的无知。我有一个名为tbb的表,它由名为mydata的数据框架中的内容组成。 然后,我使用colsums进行一些汇总统计,我希望他们将colsums转换回数据帧。但是,当我这样做时,它似乎只将两列中的一列识别为一列: 这是我的成绩 LSU-rRNA_Hsa LTR1 LTR10A LTR10B LTR10B1 309 90 351
LSU-rRNA_Hsa LTR1 LTR10A LTR10B LTR10B1
309 90 351 404 183
LTR10C LTR10D LTR10E LTR10F LTR10G
181 675 173 72 231
LTR12 LTR12 LTR12B LTR12C
333 359 15 144
But when I then convert this to a dataframe I get
LSU-rRNA_Hsa 181
LTR1 675
LTR10A 173
LTR10B 72
LTR10B1 231
LTR10C 309
LTR10D 90
LTR10E 351
LTR10F 404
LTR10G 183
LTR12 379
LTR12_ 273
LTR12B 86
LTR12C 497
太好了。直到我做ncol,它告诉我我只有一列是数字,而不是LTR等。为什么会这样,我在转换中做错了什么?代码如下:
mydata = read.table("/Users/Repeats.txt")
#General tidy up
mydata[4:6] <- NULL
mydata[5] <- NULL
names(mydata) <- c("chrom", "chromStart", "chromEnd","Rptname")
tbb <- table(mydata$chromStart,mydata$Rptname)
tbb[tbb == 0] <- NA
tbb[tbb > 0] <- 1
coll <- as.data.frame(colSums(tbb,na.rm = TRUE))
mydata=read.table(“/Users/Repeats.txt”)
#大扫除
mydata[4:6]将名称转换为行名称。您可以改为执行以下操作:
result = colSums(tbb, na.rm = TRUE)
result = data.frame(Names = names(result), Values = result)
这些可能只是您的行名称。您可以随意提取和保存它们。试试行名(coll)
。啊,是的,它们是行名。因此,最终目的是根据行名称绘制数字。数据帧调用一列colSums(tbb,na.rm=TRUE)。因此,当我尝试使用名称((colSums(tbb,na.rm=TRUE))创建绘图时