【问题标题】:R: Convert dimnames into column in matrixR:将dimnames转换为矩阵中的列
【发布时间】:2017-03-09 02:08:11
【问题描述】:

我试图使用"tsne" 来分析我的数据。 按照“tsne”的“README”中使用的示例数据(“iris”), 我试图以一种可以用作 tsne() 函数的输入的方式构造我自己的数据。

>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”相比,我想我需要使用暗名“Cell1”“Cell2”“Cell3”添加一个额外的列 对于数据框,我想我可以简单地执行以下操作:

sampledata$sampleids<-rownames(sampledata)

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

【问题讨论】:

  • 我不知道 tsne,但矩阵包含相同类型的值。如果它的值是数字,则不能添加字符串。
  • @user31264,是的,矩阵包含相同类型的值。感谢您提醒我这一点(我这周才知道这一点,所以这个事实还没有在我的脑海中扎根......)。在重新检查“README”部分后,实际上tsne_out &lt;- Rtsne(as.matrix(iris_unique[,1:4])) 初始数据帧被强制转换为矩阵,而我已经有了矩阵,没有必要先制作数据帧。抱歉打扰,谢谢!

标签: r matrix dataframe


【解决方案1】:

我们可以cbind 但将numeric 矩阵与character 元素混合会产生character 矩阵

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 2015-05-27
    • 1970-01-01
    • 2015-04-27
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    相关资源
    最近更新 更多