我有一个数据框,其中包含每个美国邮政编码的中位数工资以及位于该邮政编码内的所有快餐店。下面是该数据帧的示例:通过邮编区号统计不同的餐厅R
Row_NUM ZIP MEDIAN RESTAURANT
26800 1001 56663 McDonald's
33161 1007 79076 McDonald's
23706 1008 63980 McDonald's
23709 1008 63980 McDonald's
30007 1008 63980 Taco Bell
30008 1008 63980 McDonald's
30009 1011 63476 McDonald's
24429 1013 36578 McDonald's
15323 1020 50058 KFC
29196 1020 50058 McDonald's
33127 1020 50058 McDonald's
39362 1020 50058 Wendy's
44914 1020 50058 Taco Bell
2542 1027 58573 Burger King
35242 1027 58573 McDonald's
我想做两件事。 首先,我想创建一个只有唯一邮政编码的新数据框,该邮政编码的平均工资以及该邮政编码中的餐馆总数。因此,对于该数据帧样本:
ZIP MEDIAN TOTAL_RESTAURANTS
1001 56663 1
1007 79076 1
1008 63980 4
其次,我想创建一个只具有独特的邮政编码和每种类型的快餐店的总数量列的数据帧。因此,对于这个数据帧样本:
ZIP MEDIAN TOTAL_MCDONALDS TOTAL_TACOBELL TOTAL_KFC
1001 56663 1 0 0
1007 79076 1 0 0
1008 63980 3 1 0
我想下面的代码的工作,但它只是给我的邮政编码和食肆总,我不知道如何修改它以包括其他三列。
df <- ddply(df,~ZIP, summarise,TOTAL_RESTAURANTS=length(RESTAURANT))
任何帮助将不胜感激。
编辑:这是我在我的数据框中使用的数据类型。
str(df)
data.frame': 50002 obs. of 3 variables:
$ ZIP : int 44126 24014 77011 2190 48509 21061 43213 70130 31907 19422 ...
$ MEDIAN : int 54496 50175 27113 74205 50895 62408 36734 47591 38710 103683 ...
$ RESTAURANT: Factor w/ 10 levels "McDonald's","Burger King",..: 2 2 2 2 2 2 2 2 2 2 ...
这里是我的会话信息:
R version 3.2.2 (2015-08-14)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11 (El Capitan)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] graphics grDevices utils datasets grid stats methods base
other attached packages:
[1] lubridate_1.3.3 extrafont_0.17 jsonlite_0.9.16 dplyr_0.4.2 tidyr_0.2.0 tableplot_0.3-5 reshape2_1.4.1 RCurl_1.95-4.7
[9] bitops_1.0-6 gplots_2.17.0 ggthemes_2.2.1 ggplot2_1.0.1
loaded via a namespace (and not attached):
[1] Rcpp_0.12.0 Rttf2pt1_1.3.3 magrittr_1.5 MASS_7.3-43 munsell_0.4.2 colorspace_1.2-6 R6_2.1.1
[8] stringr_1.0.0 plyr_1.8.3 caTools_1.17.1 tools_3.2.2 parallel_3.2.2 gtable_0.1.2 KernSmooth_2.23-15
[15] DBI_0.3.1 extrafontdb_1.0 gtools_3.5.0 lazyeval_0.1.10 assertthat_0.1 digest_0.6.8 memoise_0.2.1
[22] labeling_0.3 gdata_2.17.0 stringi_0.5-5 scales_0.3.0 proto_0.3-10
他/她的代码工作以及对我的R. – Ouistiti
实例@Spencer您可能需要阅读[这个问题](http://stackoverflow.com/questions/22801153/dplyr-误差在正函数应该-不待被叫直接地)。你想确保你先上传plyr,然后上传dplyr。就你而言,情况可能并非如此。 – jazzurro
所以,当我运行总结代码它给我下面的错误: '错误N():这个功能不应该叫directly' – Spencer