【问题标题】:I can´t pivot a data frame我无法旋转数据框
【发布时间】:2019-04-09 14:04:52
【问题描述】:

我有这些数据:

输入(头(data))

我想用上面的数据生成一个像文本一样的数据框:

输入(头(enter image description here))

我尝试了许多选项(excel 中的数据透视表,在 R studio 中使用 cast 和 dcast,之前制作子集和粘贴...)但我总是一无所获。

【问题讨论】:

  • 欢迎来到 StackOverflow!请阅读有关how to ask a good question 的信息以及如何提供reproducible example。这将使其他人更容易帮助您。
  • 请不要共享整个文件 - 人们不太可能从未知来源将文件下载到他们的系统,这可能是传播恶意软件的媒介。请直接在此处分享您的数据样本和所需的输出(例如,使用dput(head(data))
  • 对不起,我不知道如何正确粘贴我的数据,我得到了混乱的文本,所以我想提供我自己的全部数据。
  • 大卫,你必须在 R 中运行dput(head(your_dataframe)),然后将输出复制粘贴到这里
  • 第一条评论中用于制作可重现示例的链接包含有关如何添加我们可以使用的数据样本的说明。阅读该帖子,这样人们就不必在此处的 cmets 中重复相同的信息。了解您尝试过但没有奏效的方法以及您的方法也很有帮助。

标签: r


【解决方案1】:
require(tidyr)
gather(data, "to", "weight", 2:9)

或者,与reshape2/data.table 相同:

require(reshape2) # or data.table, if you'd like to use that
melt(data, id.vars="from",variable.name="to",value.name="weight")

【讨论】:

    猜你喜欢
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-14
    相关资源
    最近更新 更多