gpt4 book ai didi

r - 如何使用R中的两个表创建交叉表?

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

我的Excel数据集如下:

Weight Quantity Price
72 5 460
73 8 720
75 20 830
95 2 490
91 15 680
82 14 340
88 30 250
89 6 770
78 27 820
98 24 940
99 29 825

我想要获得一个重量与数量数据透视表,其中每个类别的价格总和如下:

        0-10     10-20     20-30
70-80 1180 830 820
80-90 770 340 250
90-100 490 680 1765

我为各个类别创建了两个表,以使用 dplyr 包获取平均值和计数,如下所示:

table1 <- group_by(dataset, Weight = cut(Weight, breaks = c(70,80,90,100))
result1 <- summarise(table1, Count = n(), Avg_Price = mean(Price, na.rm = T))
table2 <- group_by(dataset, Quantity = cut(Quantity, breaks = c(0,10,20,30))
result2 <- summarise(table2, Count = n(), Avg_Price = mean(Price, na.rm = T))

现在,如何使用 table1 和 table2 创建上述交叉表?

最佳答案

也许下面就是你想要的。它像您一样使用 cut,然后使用 xtabs

Weight = cut(dataset$Weight, breaks = c(70,80,90,100))
Quantity = cut(dataset$Quantity, breaks = c(0,10,20,30))
dt2 <- data.frame(Weight, Quantity, Price = dataset$Price)
xtabs(Price ~ Weight + Quantity, dt2)
# Quantity
#Weight (0,10] (10,20] (20,30]
# (70,80] 1180 830 820
# (80,90] 770 340 250
# (90,100] 490 680 1765

关于r - 如何使用R中的两个表创建交叉表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48478054/

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