gpt4 book ai didi

r - 如何将具有两列的数据框 reshape 为宽格式?

转载 作者:行者123 更新时间:2023-12-04 12:20:43 25 4
gpt4 key购买 nike

我想 reshape 以下数据框

x <- structure(
list(name = c("HT", "AT", "HG", "AG"),
conv = c(2L, + 2L, 3L, 4L)),
.Names = c("name", "conv"), row.names = 1:4, class = "data.frame")

> x
name conv
1 HT 2
2 AT 2
3 HG 3
4 AG 4

进入
  conv  x.1  x.2
1 2 HT AT
2 3 HG NA
3 4 AG NA

在最终的数据框中,每个不同的值都应该有一行 conv ,以及许多 x.?列,因为原始数据中有行 conv 的特定值的框架, 必要时填充 NA。我不在乎列名。

我试过 reshape但我无法让它工作,因为它似乎需要
我没有的第三列:
> reshape(x, idvar='conv', direction='wide')
Error in `[.data.frame`(data, , timevar) : undefined columns selected

最佳答案

使用 data.table v1.9.5 :

require(data.table)
dcast(setDT(x), conv ~ paste0("x.", x[, seq_len(.N), by=conv]$V1), value.var="name")
# conv x.1 x.2
# 1: 2 HT AT
# 2: 3 HG NA
# 3: 4 AG NA

您可以按照说明进行安装 here .

关于r - 如何将具有两列的数据框 reshape 为宽格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29415194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com