我有一个包含四列数据的数据集。
我想将行按两个变量分组,将列按一个变量分组
这是我的数据示例
df <- data.frame(
Price = rnorm(24),
Grouping = rep(c("CD", "NW", "SMK", "ghd"),6),
Sub_grouping = c("CDapple", "NWapple", "SMKapple", "ghdapple",
"CDPear", "NWpear", "SMKpear", "ghdpear",
"CDgrape", "NWgrape", "SMKgrape", "ghdgrape",
"CDapple", "NWapple", "SMKapple", "ghdapple",
"CDPear", "NWpear", "SMKpear", "ghdpear",
"CDgrape", "NWgrape", "SMKgrape", "ghdgrape"),
SP = rep(c("SP", "OffSP"),12))
要获得每个子组的价格变量的平均值,我可以运行以下命令:
df <- melt(df)
df_mean <- dcast(df, Grouping + Sub_grouping ~ SP, value.var = "value", fun.aggregate = mean)
我还想要每个分组变量的价格平均值。这可能吗?
我还想计算输入每个平均价格的价格值的数量。因此,对于每个组,按 SP 和 OffSP,输入此的价格数量;对于每个 sub_group,由 SP 和 OffSP 提供的价格数量。
有谁知道如何做到这一点?
我已经看到这些问题Create a column with a count of occurrences in R 如何计算一个值在 R 的子组中出现的实例数? 但是他们的列联表是 2x2,我需要一个以分组和子组为行的表,以 SP / OffSP 作为列。
谢谢