【发布时间】:2013-07-16 21:38:36
【问题描述】:
假设有一个不同区域的数据集,每个区域是一个状态的子集,以及一些结果变量:
regions <- c("Michigan, Eastern",
"Michigan, Western",
"Minnesota",
"Mississippi, Northern",
"Mississippi, Southern",
"Missouri, Eastern",
"Missouri, Western")
set.seed(123)
outcome <- rpois(7, 12)
testset <- data.frame(regions,outcome)
regions outcome
1 Michigan, Eastern 10
2 Michigan, Western 11
3 Minnesota 17
4 Mississippi, Northern 12
5 Mississippi, Southern 12
6 Missouri, Eastern 17
7 Missouri, Western 13
一个有用的工具会聚合每个区域,并按区域添加或取平均值或最大值等,并为状态生成一个新的数据框。例如,总和会输出:
state outcome
1 Michigan 21
3 Minnesota 17
4 Mississippi 24
6 Missouri 30
aggregate() 函数不能解决这个问题。 R中是否还有其他为此而构建的东西?似乎grep 可用于生成新列“状态”作为应用程序特定程序的一部分。似乎这已经在某个地方了。
【问题讨论】:
-
只有您自己才能神奇地了解您的特定数据的细节。创建其他更有意义的列并使用
aggregate(或其他)。