gpt4 book ai didi

r - R 中的数据转换

转载 作者:行者123 更新时间:2023-12-02 03:48:31 28 4
gpt4 key购买 nike

我需要以不同的方式查看数据框中的数据。问题来了..

我有一个数据框如下

Person  Item  BuyOrSell
1 a B
1 b S
1 a S
2 d B
3 a S
3 e S

我需要它变成这样。显示此人对单个项目进行的所有交易的总和。

Person   a   b    d   e
1 2 1 0 0
2 0 0 1 0
3 1 0 0 1

我能够通过使用

实现上述目标

R 中的table(Person,Item)

我的新需求是看到数据如下。显示此人对按交易类型(B 或 S)分割的单个项目进行的所有交易的总和

Person    aB   aS   bB   bS   dB   dS   eB   eS
1 1 1 0 1 0 0 0 0
2 0 0 0 0 1 0 0 0
3 1 0 0 0 0 0 0 1

所以我创建了一个新列并附加了 Item 和 BuyOrSell 的值。

df$newcol<-paste(Item,"-",BuyOrSell,sep="")
table(Person,newcol)

并能取得上述成果。

在 R 中是否有更好的方法来进行这种类型的转换?

最佳答案

您的方法(通过paste 创建一个新列)可能是最简单的。你也可以这样做:

require(reshape2)
dcast(Person~Item+BuyOrSell,data=df,fun.aggregate=length,drop=FALSE)

关于r - R 中的数据转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15417698/

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