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

Converting row level details to column values in R

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

现在我需要如下输出,

任何人都可以向我提供代码,说明我如何为上述数据集转换 R 中的数据,并根据上传的图像带来输出。

此致,

墨涵

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

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

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