gpt4 book ai didi

r - data.table 中类似转置的过程

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

我之前问过一个类似但不同的问题(here)

现在我想改变这个数据集:

dt <- data.table(a=c("A","A","A"),b=1:3,c=c(0,1,0))
dt
a b c
1: A 1 0
2: A 2 1
3: A 3 0

这个:

   a 1 2 3
1: A 0 1 0

所以“b”列的值应该变成每个列都具有“c”列的值的列。 “a”的值可以被视为参与者(这里只有一个人(“A”)。原始数据集继续具有 B 的多个值,依此类推。在“转置”之后,“a”列应包含唯一值(例如 A ,B,C 等)

有什么建议吗?

最佳答案

我想我可以看出你的目的。

下面的内容也应该处理 b 中不同的独特项目并将它们排列起来。

.u = unique(dt$b)                        # find first the unique columns
ans = dt[,as.list(c[match(.u,b)]),by=a] # as.list is the way to make columns
setnames(ans,c("a",.u)) # rename once afterwards is faster
ans
a 1 2 3
1: A 0 1 0

未在更复杂的情况下进行测试。

关于r - data.table 中类似转置的过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18716994/

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