将行级详细信息转换为R中的列值

时间:2017-03-27 09:39:47

标签: r data-manipulation

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

enter image description here

现在我需要输出如下,

enter image description here

任何人都可以提供代码,因为我可以在R中为上述数据集转换数据,并根据上传的图像显示输出。

此致

莫汉

2 个答案:

答案 0 :(得分:3)

我们可以使用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)

答案 1 :(得分:1)

您基本上按列进行制表,所以您应该也可以使用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

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