2017-03-09 88 views
0

我试图使用"tsne"来分析我的数据。 继“tsne”的“README”中使用的示例数据(“虹膜”), 我试图以可用作tsne()函数输入的方式构建自己的数据。R:将模糊名称转换为矩阵中的列

>sampledata 

    Gene 1 Gene 2 Gene 3 Gene 4 GeneX 
Cell1 Value  Value  Value  Value  Value  
Cell2 Value  Value  Value  Value  Value  
Cell3 Value  Value  Value  Value  Value  
Cell4 Value  Value  Value  Value  Value  
Cell5 Value  Value  Value  Value  Value  

与“IRIS”,我想我需要使用dimnames“小区1”,“小区2”,“小区3” 对于数据框中添加一个额外的列比较,我想我可以简单地这样做:

sampledata$sampleids<-rownames(sampledata) 

但我不知道如何做类似的技巧矩阵。 感谢您的任何建议。

+0

我不知道tsne,但矩阵包含相同类型的值。如果它的值是数字,则不能添加字符串。 – user31264

+0

@ user31264,是的,矩阵包含相同类型的值。感谢你提醒我(我刚刚了解到,本周,所以事实还没有在我的脑海中扎根......)。在重新检查“README”部分后,实际上'tsne_out < - Rtsne(as.matrix(iris_unique [,1:4]))'初始数据帧被强制到一个矩阵中,并且我已经有了矩阵,首先是数据框。抱歉打扰,谢谢! – Jun

回答

0

我们可以cbindcharacter基质混合numeric矩阵character元结果

sampledata <- cbind(sampledata, sampleids=rownames(sampledata)) 

如果我们只是想要一些标识,使用行序列标识符,这将是一个数字

sampledata <- cbind(sample(data, sampleids = seq_len(nrow(sampledata)))