【发布时间】:2011-10-12 17:14:31
【问题描述】:
我有一个如下数据框:
year income group
1 2008 27907 Under25
2 2009 25522 Under25
3 2010 26777 Under25
4 2008 58809 Age25_34
5 2009 57239 Age25_34
6 2010 58558 Age25_34
7 2008 75677 Age35_44
8 2009 74900 Age35_44
9 2010 74136 Age35_44
10 2008 78537 Age45_54
11 2009 77460 Age45_54
12 2010 76266 Age45_54
13 2008 69009 Age55_64
14 2009 67586 Age55_64
15 2008 44402 Age65_74
16 2009 46147 Age65_74
17 2010 48595 Age65_74
18 2008 32747 Over75
19 2009 31272 Over75
20 2010 31638 Over75
> str(df)
'data.frame': 20 obs. of 3 variables:
$ year : int 2008 2009 2010 2008 2009 2010 2008 2009 2010 2008 ...
$ income: int 27907 25522 26777 58809 57239 58558 75677 74900 74136 78537 ...
$ group : Factor w/ 7 levels "Age25_34","Age35_44",..: 7 7 7 1 1 1 2 2 2 3 ...
我想使用 cast 按组查找平均值。另外,我想从这个df创建一个宽的data.frame,其中第一列是年份,以下列是不同群体的收入。例如
year under25 Age25_34 Age35_44 Age45_54 ...
2008 27907 58809 75677 78537 ...
2009 25522 57239 74900 77460 ...
...
当我尝试强制转换时,我收到以下错误:
演员(df,收入〜组,平均) 使用组作为值列。使用 value 参数进行强制转换以覆盖此选择
[.data.frame(data, , variables, drop = FALSE) 中的错误: 选择了未定义的列
我在使用 cast 命令时做错了什么?
如何将其转换为示例中所示的宽格式?
下面列出了我的 R 版本信息。
> unlist(R.Version())
platform arch os
"x86_64-pc-mingw32" "x86_64" "mingw32"
system status major
"x86_64, mingw32" "" "2"
minor year month
"13.1" "2011" "07"
day svn rev language
"08" "56322" "R"
version.string
"R version 2.13.1 (2011-07-08)"
【问题讨论】:
标签: r