统计学区内各个小区的房价均值

数据格式

id|community_name|house_area|house_structure|house_total|house_avg|agency_name|house_floor_curr|house_floor_total|house_floor_type

6328500962692431872|尚东花园|77.0|3室2厅|285.0|37013.0|利众置业|5|5|多层

6328500979813580800|赛世香樟园|93.0|2室2厅|265.0|28495.0|苏商房产仙林店|9|11|小高层

导入数据

house<- read.table("house_data.txt", header = TRUE, sep='|',fileEncoding ="UTF-8",

stringsAsFactors = FALSE,

colClasses = c("character","character","numeric",

"character","numeric","numeric","character",

"numeric","numeric","character"))

houseXQ<- sqldf("select * from house where  community_name!='东郊小镇' ",row.names=TRUE)

选择列

selectedColumns<- c("community_name","house_avg")

将小区名转换成因子

communityFactor<- factor(houseXQ$community_name, order=FALSE)

将因子列整合到数据框中

houseXQ <-cbind(houseXQ, communityFactor)

重新选择列

selectedColumns<- c("communityFactor","house_avg")

看一下数据

head(houseXQ[selectedColumns])

按小区名分组计算均值

aggregate(houseXQ[selectedColumns], by=list(communityFactor=houseXQ$communityFactor),mean)

结果:

 

自定义函数计算统计量

funcMystats<- function(x, na.omit= FALSE){

if(na.omit){

x<- x[!is.na(x)]

}

m<- mean(x)

n<- length(x)

s<- sd(x)

skew<- sum((x-m)^3/s^3)/n

kurt<- sum((x-m)^4/s^4)/n-3

return (c(n=n,mean=m, stdev=s, skew=skew, kurtosis=kurt))

}

funcDstats <- function(x) sapply(x, funcMystats)#对于每个X调用 funcMystats 函数
by(houseXQ[selectedColumns], houseXQ$community_name, funcDstats)
#对于数据框 houseXQ,选择 selectedColumns 的列,根据 houseXQ$community_name 进行分组,对每组调用 funcDstats函数计算统计量

结果(部分)

houseXQ$community_name: 东方天郡
         communityFactor     house_avg
n                     51    51.0000000
mean                  NA 38255.8039216
stdev                  0  2145.6443696
skew                  NA    -0.4395676
kurtosis              NA     0.6015383
------------------------------------------------------------ 
houseXQ$community_name: 康桥圣菲
         communityFactor     house_avg
n                      9     9.0000000
mean                  NA 34359.0000000
stdev                  0  1567.1059313
skew                  NA    -0.9804274
kurtosis              NA    -0.8342473
------------------------------------------------------------ 
houseXQ$community_name: 南师大茶苑
         communityFactor house_avg
n                      1         1
mean                  NA     31691
stdev                 NA        NA
skew                  NA        NA
kurtosis              NA        NA
------------------------------------------------------------ 
houseXQ$community_name: 赛世香樟园
         communityFactor     house_avg
n                      3     3.0000000
mean                  NA 28938.3333333
stdev                  0  1654.1733081
skew                  NA     0.2487582
kurtosis              NA    -2.3333333
------------------------------------------------------------ 
houseXQ$community_name: 三味公寓
         communityFactor  house_avg
n                      2     2.0000
mean                  NA 28662.0000
stdev                  0   576.9991
skew                  NA     0.0000
kurtosis              NA    -2.7500
------------------------------------------------------------ 
houseXQ$community_name: 尚东花园
         communityFactor house_avg
n                      1         1
mean                  NA     37013
stdev                 NA        NA
skew                  NA        NA
kurtosis              NA        NA
------------------------------------------------------------ 

使用 psych 包中的 describeBy()分组计算概述统计量

library(psych)
selectedColumns<- c("communityFactor","house_avg")
describeBy(houseXQ[selectedColumns], list(houseXQ$communityFactor))

结果如下(部分)

 

R 分组计算描述性统计量的更多相关文章

  1. R语言笔记006——分组获取描述性统计量

    方法一:使用aggregate()分组获取描述性统计量 aggregate(mtcars[vars],by=list(am=mtcars$am),mean) aggregate(mtcars[vars ...

  2. R语言笔记005——计算描述性统计量

    数据的分布特征: 分布的集中趋势,反应各数据向其中心值靠拢或聚集的程度(平均数,中位数,四分位数,众数) 分布的离散程度,反应各数据远离其中心值的趋势(极差,四分位差,方差,标准差,离散系数) 分布的 ...

  3. spark 例子groupByKey分组计算

    spark 例子groupByKey分组计算 例子描述: [分组.计算] 主要为两部分,将同类的数据分组归纳到一起,并将分组后的数据进行简单数学计算. 难点在于怎么去理解groupBy和groupBy ...

  4. R语言计算IV值

    更多大数据分析.建模等内容请关注公众号<bigdatamodeling> 在对变量分箱后,需要计算变量的重要性,IV是评估变量区分度或重要性的统计量之一,R语言计算IV值的代码如下: Ca ...

  5. devexpress表格gridcontrol实现分组,并根据分组计算总计及平均值

    1.devexpress表格控件gridcontrol提供了强大的分组功能,你几乎不用写什么代码就可以实现一个分组功能,并且可根据分组计算总计和平均值.这里我例举了一个实现根据班级分组计算班级总人数, ...

  6. R语言计算moran‘I

    R语言计算moran‘I install.packages("maptools")#画地图的包 install.packages("spdep")#空间统计,m ...

  7. spark 例子groupByKey分组计算2

    spark 例子groupByKey分组计算2 例子描述: 大概意思为,统计用户使用app的次数排名 原始数据: 000041b232,张三,FC:1A:11:5C:58:34,F8:E7:1E:1E ...

  8. R语言计算相关矩阵然后将计算结果输出到CSV文件

    R语言计算出一个N个属性的相关矩阵(),然后再将相关矩阵输出到CSV文件. 读入的数据文件格式如下图所示: R程序采用如下语句: data<-read.csv("I:\\SB\land ...

  9. python库学习笔记——分组计算利器:pandas中的groupby技术

    最近处理数据需要分组计算,又用到了groupby函数,温故而知新. 分组运算的第一阶段,pandas 对象(无论是 Series.DataFrame 还是其他的)中的数据会根据你所提供的一个或多个键被 ...

随机推荐

  1. maven -- 问题解决(四)警告Classpath entry org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER will not be exported or published

    警告:Classpath entry org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER will not be exported or published. Run ...

  2. Nancyfx框架在传统Webform项目中的应用

    最近有个老项目需要做一个需求更迭,老项目是基于传统的webform项目的 为了更好的前后台交互,决定引入Nancyfx框架 关于Nancyfx框架框架是啥就不多介绍了 总的来说是一款轻量级的web框架 ...

  3. .Net Discovery 系列之七--深入理解.Net垃圾收集机制(拾贝篇)

    关于.Net垃圾收集器(Garbage Collection),Aicken已经在“.Net Discovery 系列”文章中有2篇的涉及,这一篇文章是对上2篇文章的补充,关于“.Net Discov ...

  4. Javascript 中的arguments

    arguments是当前正在执行的function的一个参数,它保存了函数当前调用的参数.   使用方法:function.arguments[i]. 其中function.是可选项,是当前正在执行的 ...

  5. Android提交数据到服务器的两种方式四种方法

    本帖最后由 yanghe123 于 2012-6-7 09:58 编辑 Android应用开发中,会经常要提交数据到服务器和从服务器得到数据,本文主要是给出了利用http协议采用HttpClient方 ...

  6. Android 百度地图开发(三)

    实现比例尺功能和替换自带的缩放组件 ScaleView是比例尺控件.ZoomControlView是缩放控件,MainActivity就是我们的主界面了 先看下ZoomControlView类.代码例 ...

  7. java项目实现流水号自动增长

    项目中有一个规则编号字段,从1开始,编号长度为5位,那么第一条数据编号就是00001. 实现的基本思路就是项目启动时,从数据库获取当前最大值,作为静态变量存储: 业务获取新的编码,考虑并发问题,获取编 ...

  8. left join 注意事项

    相信对于熟悉SQL的人来说,LEFT JOIN非常简单,采用的时候也很多,但是有个问题还是需要注意一下.假如一个主表M有多个从表的话A B C …..的话,并且每个表都有筛选条件,那么把筛选条件放到哪 ...

  9. http链接的性能测试工具httping

    安装:MAC环境下使用brew进行安装      brew  install  httping 使用参数: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 ...

  10. Android之2次打开添加友盟统计代码,后缀会添加广告

    这里首先列明步骤, 做一个标识仅此而已. 1. 首先使用apktool来反编译你待需要加入友盟统计的apk包, 具体如何使用与配置apktool, 请参考我关于apktool配置的文章. 2. 然后自 ...