【问题标题】:Need some advise to use reshape2:melt function for ggplot-ing需要一些建议来使用 reshape2:melt 函数进行 ggplot-in
【发布时间】:2017-10-10 09:42:28
【问题描述】:

我需要帮助编写命令来执行以下操作:

我有以下形式的两个数据框(我计划将它们合并为一个来做一些 ggplotting):

df1

|..D..|..A...|..B...|
| d1 | a11 | b11 |
| d2 | a12 | b12 |
| d3 | a13 | b13 |

df2

|..D.|..A....|..B....|
| d1 | a21 | b21 |
| d2 | a22 | b22 |
| d3 | a23 | b23 |

两个表“D”列的值相同,变量A和B同名,但值不同。我需要得到如下形式的输出表:

df3

|..D..|..A...|..B...|类|
| d1 | a11 | b11 | df1 |
| d2 | a12 | b12 | df1 |
| d3 | a13 | b13 | df1 |
| d1 | a21 | b21 | df2 |
| d2 | a22 | b22 | df2 |
| d3 | a23 | b23 | df2 |

我可以只 rbind 两个表,但我知道(我认为)这也可以通过“melt”功能完成,但无法实现。

【问题讨论】:

    标签: r reshape2 melt


    【解决方案1】:

    reshape 或多或少已被弃用...如果您想要一个 tidyverse 解决方案,您可以这样做:

    library(dplyr)
    df3 <- row_binds(df1 = df1, df2 = df2, .id = "class")
    

    【讨论】:

      【解决方案2】:

      只需使用 cbind 然后 rbind。充分利用 R 的回收能力。

      df1 <- cbind(mtcars,Class="df1")
      df2 <- cbind(mtcars,Class="df2")
      
      rbind(df1,df2)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-17
        • 1970-01-01
        相关资源
        最近更新 更多