gpt4 book ai didi

r - 总结一个数据框

转载 作者:行者123 更新时间:2023-12-02 07:37:41 24 4
gpt4 key购买 nike

我正在尝试获取以下数据,然后使用这些数据创建一个表,其中包含按州分类的信息。

这是数据:

> head(mydf2, 10)
lead_id buyer_account_id amount state
1 52055267 62 300 CA
2 52055267 64 264 CA
3 52055305 64 152 CA
4 52057682 62 75 NJ
5 52060519 62 750 OR
6 52060519 64 574 OR
15 52065951 64 152 TN
17 52066749 62 600 CO
18 52062751 64 167 OR
20 52071186 64 925 MN

我已经对我感兴趣的状态进行了子集化,并且只有我感兴趣的数据:

mydf2 = subset(mydf, state %in% c("NV","AL","OR","CO","TN","SC","MN","NJ","KY","CA"))

这是我正在寻找的想法:

State     Amount       Count
NV 1 50
NV 2 35
NV 3 20
NV 4 15
AL 1 10
AL 2 6
AL 3 4
AL 4 1
...

对于每个州,我试图找到每个金额“级别”的计数。我不需要对 amount 变量进行分组,但请记住它们不仅仅是 1、2、3 等

> mydf$amount
[1] 300 264 152 75 750 574 113 152 750 152 675 489 188 263 152 152 600 167 34 925 375 156 675 152 488 204 152 152
[29] 600 489 488 75 152 152 489 222 563 215 452 152 152 75 100 113 152 150 152 150 152 452 150 152 152 225 600 620
[57] 113 152 150 152 152 152 152 152 152 152 640 236 152 480 152 152 200 152 560 152 240 222 152 152 120 257 152 400

在 R 中是否有一个优雅的解决方案,或者我会被困在 Excel 中(糟糕!)。

最佳答案

这是我对您尝试做的事情的理解:

从一个简单的 data.frame 开始,它有 26 个状态,数量范围从 1 到 50(这比你的例子中的范围要大得多)。

set.seed(1)
mydf <- data.frame(
state = sample(letters, 500, replace = TRUE),
amount = sample(1:50, 500, replace = TRUE)
)

head(mydf)
# state amount
# 1 g 28
# 2 j 35
# 3 o 33
# 4 x 34
# 5 f 24
# 6 x 49

这里有一些简单的表格。我还删除了频率为零的所有实例,并按状态对输出重新排序。

temp1 <- data.frame(table(mydf$state, mydf$amount))
temp1 <- temp1[!temp1$Freq == 0, ]
head(temp1[order(temp1$Var1), ])
# Var1 Var2 Freq
# 79 a 4 1
# 157 a 7 2
# 391 a 16 1
# 417 a 17 1
# 521 a 21 1
# 1041 a 41 1
dim(temp1) # How many rows/cols
# [1] 410 3

这里有一些不同的表格。我们在对“数量”值进行分组后制表。在这里,我手动指定了中断,但您也可以轻松地让 R 决定它认为最好的中断。

temp2 <- data.frame(table(mydf$state, 
cut(mydf$amount,
breaks = c(0, 12.5, 25, 37.5, 50),
include.lowest = TRUE)))
temp2 <- temp2[!temp2$Freq == 0, ]
head(temp2[order(temp2$Var1), ])
# Var1 Var2 Freq
# 1 a [0,12.5] 3
# 27 a (12.5,25] 3
# 79 a (37.5,50] 3
# 2 b [0,12.5] 2
# 28 b (12.5,25] 6
# 54 b (25,37.5] 5
dim(temp2)
# [1] 103 3

关于r - 总结一个数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14777890/

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