【问题标题】:Converting row level details to column values in R [closed]将行级详细信息转换为 R 中的列值 [关闭]
【发布时间】:2017-08-19 22:53:28
【问题描述】:

我将以下格式的数据存储为 R 中的数据框,

现在我需要如下输出,

谁能提供我如何在 R 中为上述数据集转换数据并根据上传的图像输出的代码。

问候,

莫汉

【问题讨论】:

  • 请尝试将示例数据发布为文本,而不是图像;它使提供答案变得更容易。
  • 当然@neilfws...
  • 请修改您的标题,它目前的信息量非常少。

标签: r data-manipulation


【解决方案1】:

我们可以使用recast进行数据转换

library(reshape2)
recast(df1, id.var = "Company", Company ~ value, length)
#   Company CRV diesel Grande Petrol
#1   Honda   1      0      0      1
#2    Tata   0      1      1      0

数据

df1 <- data.frame(Company = c("Honda", "Tata"), model = c("CRV", "Grande"),
           version = c("Petrol", "diesel"), stringsAsFactors= FALSE)

【讨论】:

    【解决方案2】:

    看来,您实际上是按列制表,因此您应该也可以使用table,而无需额外的包。

    do.call(cbind, lapply(df1[-1], function(x) table(df1[[1]], x)))
    ##       CRV Grande diesel Petrol
    ## Honda   1      0      0      1
    ## Tata    0      1      1      0
    

    这样,相关列也被分组在一起,而不是按字母顺序排序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-22
      • 1970-01-01
      • 1970-01-01
      • 2019-07-17
      • 1970-01-01
      • 2010-12-06
      • 2022-01-20
      • 1970-01-01
      相关资源
      最近更新 更多