R:使用数据帧信息为散点图上的点着色

R:使用数据帧信息为散点图上的点着色,r,plot,dataframe,pca,scatter,R,Plot,Dataframe,Pca,Scatter,我已经使用绘图(data$pco$li[,1],data$pco$li[,2])生成了我的数据散点图。结果是PCA散射输出。我现在想根据它的类别给散乱图上的每个点上色(每个点都是一个基因,我想根据它所属的染色体给它上色) 我已经准备好了一个文件,第一列有基因,第二列有染色体,并使用以下方法将其加载到R中: geneLoc <- read.table(file = "~/Location/File.txt", header = FALSE, sep = "\t") colnames(gene

我已经使用
绘图(data$pco$li[,1],data$pco$li[,2])生成了我的数据散点图
。结果是PCA散射输出。我现在想根据它的类别给散乱图上的每个点上色(每个点都是一个基因,我想根据它所属的染色体给它上色)

我已经准备好了一个文件,第一列有基因,第二列有染色体,并使用以下方法将其加载到R中:

geneLoc <- read.table(file = "~/Location/File.txt", header = FALSE, sep = "\t")
colnames(geneLoc) <- c("Gene", "Chromosome")

因此,我不能简单地将第三类列添加到两列数据框中,并使用它为我的散点着色。

您需要将数据转换为以下格式:

Var1      Var2      Value
gene1     gene2     33.76389
gene1     gene3     51.12729
然后可以轻松地附加第四列。包Reformate2有一个名为melt的函数,可以实现这一点。首先,让我们生成一个与上述示例类似的矩阵:

mydata <- matrix(data=rnorm(81, 25, 10), ncol=9, nrow=9)
colnames(mydata) <- paste0("gene", 1:9)
rownames(mydata) <- paste0("gene", 2:10)
mydata[upper.tri(mydata, diag=T)] <- NA

mydata您能提供更多详细信息吗?什么是数据帧数据。什么是geneLoc。获得帮助的最好方法是提供一些示例数据以及您的问题,以便用户可以进行实验。你能举个假例子吗?看看这个例子的答案。嗨,我确实在我的帖子中提到了这个答案,我的数据结构才是问题所在。幸运的是,ajrwhite关于使用Reforme2的melt函数的建议帮了我的忙。谢谢,这个软件包正是我想要的!
mydata <- matrix(data=rnorm(81, 25, 10), ncol=9, nrow=9)
colnames(mydata) <- paste0("gene", 1:9)
rownames(mydata) <- paste0("gene", 2:10)
mydata[upper.tri(mydata, diag=T)] <- NA
library(reshape2)
meltdata <- melt(mydata)