R 数据分析(1) aggregate()和if()中的向量
R aggregate() 的使用
像这种数据:
Rain: Hourly
Station,Date(NZST),Time(NZST),Amount(mm),Period(Hrs),Freq
22719,20160101,0000,0.0,1,H
37852,20160101,0000,0.0,1,H
22719,20160101,0100,0.0,1,H
37852,20160101,0100,0.0,1,H
22719,20160101,0200,0.0,1,H
37852,20160101,0200,0.0,1,H
22719,20160101,0300,0.0,1,H
37852,20160101,0300,0.0,1,H
22719,20160101,0400,0.0,1,H
37852,20160101,0400,0.0,1,H
22719,20160101,0500,0.0,1,H
37852,20160101,0500,0.0,1,H
22719,20160101,0600,0.0,1,H
37852,20160101,0600,0.0,1,H
22719,20160101,0700,0.0,1,H
.......
是按每个小时来统计降雨量的,而且每个小时还分两个站点,如果我们想获得每天的降雨量应该怎么办呢?
通过各种途径的查找,aggregate()函数可以轻松做到
用以下代码:
#rain_tmp是我的dataframe名字
rain_sum<-aggregate(Amount.mm. ~ Date.NZST.,data=rain_tmp,sum)
意思就是按照所有相同的Date.NZST这一列,把对应的Amount.mm.相加
结果是,获得了一个只包含Date.NZST和Amount.mm.两列的数据,每个Date只出现一次。
if()条件判断中使用向量会出现的问题
如果我们这样写:
c <-(1,8,4,12)
if(c>=10){
return ("a")
}
else{
return ("b")
}
期望得到的是一个向量("b","b","b","a")
但是得到的会是一个字符"b",因为函数只用了向量c的第一个元素
> test(c)
[1] "b"
Warning message:
In if (c >= 10) { : 条件的长度大于一,因此只能用其第一元素
test2<-function(c){
return(c>=10)
}
test2(c)
> test2(c)
[1] FALSE FALSE FALSE TRUE
再对向量中的TRUE和FALSE进行处理得到a和b
原文地址:https://www.cnblogs.com/raybu/p/12984320.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- this到底是什么?
- ES5面向对象基础
- 面试官问我啥是OAuth 2.0,两个案例讲懂他~
- 年轻代频繁ParNew GC,导致http服务rt飙高
- JWT 使用 nimbus-jose-jwt 进行解码
- linux centos7 编译安装python3 --shell脚本
- Qt音视频开发36-USB摄像头解码qcamera方案
- JS中属性描述符
- CSS3实现彩色炫酷文字
- 动态import来拆分代码后发布问题
- webpack中动态import()打包后的文件名称定义
- springboot通过javaconfig配置jackson
- ASR6505 LoRaWAN通信(二)
- PHP下ajax跨域的解决方案之jsonp实例分析
- PHP终止脚本执行的实例代码