2017-12-27 95 views
0

我有我用熔体从reshape2并得到了下面的格式数据的收集不工作,而是融化确实为数据转换为多头形态

  menthlth avedrnk2  alcday5 
menthlth 1.00000000 0.07997551 0.03524646 
avedrnk2 0.07997551 1.00000000 -0.02859211 
alcday5 0.03524646 -0.02859211 1.00000000 

形式的数据:

> melt(corr) 
     Var1  Var2  value 
1 menthlth menthlth 1.00000000 
2 avedrnk2 menthlth 0.07997551 
3 alcday5 menthlth 0.03524646 
4 menthlth avedrnk2 0.07997551 
5 avedrnk2 avedrnk2 1.00000000 
6 alcday5 avedrnk2 -0.02859211 
7 menthlth alcday5 0.03524646 
8 avedrnk2 alcday5 -0.02859211 
9 alcday5 alcday5 1.00000000 

但是当我使用它收集提供了以下错误:

> corr %>% gather(Var1,Var2,convert = TRUE) 
Error in UseMethod("gather_") : 
    no applicable method for 'gather_' applied to an object of class "c('matrix', 'double', 'numeric')" 
+0

转换为data.frame,然后它应该工作,即'科尔%>%as.data.frame%>%gather..' – akrun

+2

此错误消息是关于知识性,因为它得到。 .. – bouncyball

回答

1

我们可以转换为data.frame或tibble,然后做了gather

library(tidyverse) 
m1 %>% 
    as.data.frame %>% 
    rownames_to_column(., 'Var1') %>% 
    gather(Var2, value, -Var1, convert = TRUE) 
+1

我很确定你需要为'as_tibble'添加一个'rownames'参数。 – A5C1D2H2I1M1N2O1R2T1

相关问题