假设有一个不同区域的数据集,每个区域是一个状态的子集,以及一些结果变量:
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
可以用来生成新列“状态”作为应用程序特定程序的一部分。似乎这已经在某个地方了。