R1-5天
R语言笔记文档
2019.11.24
R语言的安装
工作目录查看与更改
变量的三种赋值
如何查看R语言帮助 ? args
基础数据类型
基本数据类型 因子、数据框、数组、矩阵、列表、向量
2019.11.25 晚
读取数据
read.csv的属性
colname 取列名
sapply(q, class) ##得到每列的数据类型
取子集-向量
三种取子集 中括号 双中括号 $
三种索引方式 数字 逻辑 名字
对子集进行赋值
逻辑运算 与或非 & | !
向量跟向量之间合并成数据框
cbind rbind 组成矩阵
data.frame(a,b,stringsAsFactors = F)
去缺失值
complete.cases(x,y) #找到x,y两列中的是否有NA值,有返回F
na.omit() ##针对的是数据框有NA直接去掉
综合练习
取数据框中数学成绩大于60的数据
取数学、语文、英语都大于60的数据
将五个的数学和语文成绩改成60
q[q$Temp>90,]$Temp = q[q$Temp>90,]$Temp + 1000
创建一个列sum,求三科成绩 x$sum=x$数据+x$英语+x$语文
求总分跟均值的差 x$sum<-x$sum-mean(x$sum)
搜索路径的理解
search ##查看搜索路径
attach ##tach进第2个搜索路径中
detach
libray ##加载进第2个搜索路径中
detach("Package.woe")
with(airquality,hist(Ozone)) ##也是让你少写,第一个参数是指定你的数据框,第二个参数就不需要你指定数据框了
data() ##查看R语su言包含的可操作的数据是哪些
2019.11.26早
向量的运算 https://www.cnblogs.com/ljhdo/p/4421644.html
基本数据运算函数
创建随机数
#rnorm dnorm pnorm qnorm ##rdpq引导的一系列分布随机数
#set.seed() ##随机播种
#sample(letters,19,replace = T) #取19个随机数,放回抽取
日期和时间 https://www.cnblogs.com/ljhdo/p/4804113.html
一,系统当前的日期和时间
sys.Date() sys.time() date()
二,把文本解析成日期和时间
as.Date(x,format) strptime(x,format,tz="") as.POSIXct()
三,把日期和时间格式化为文本
format(today,format='%Y-%m-%d')
strftime(today,format='%Y-%m-%d')格式化日期
四,日期的比较
1,时间和数字相加
2,时间比较 t2时间大t1
difftime(t2,t1,units = "year")
3,时间序列
seq(t3,by="2 month",length.out=12)
seq(t1,t3,"year")
五,泛时间函数
weekdays()
months() ##一年的第几月
quarters()
字符处理
链接字符 paste("cc","qq",sep="&") 属性:sep是作用于向量之间、collapse是作用于向量内部的
分割字符 strsplit(c,"d")-->返回的是list 属性:fixed = T 表达是固定模式,不采用正则表达
抽取[替换]字符 substr("eeqeqq",2,4)<-"ss"
替换字符 chartr sub gsub
匹配字符
grep("er",x) grepl("er",x) ##返回的是单元格
regexpr("er",x) gregexpr("er",x) #返回的是匹配的位置
match(x,table,nomatch=NA_integer_) ##在一大堆的可选项,筛选出你想要的选项
1:10 %in% c(1,2,4,9) ##实现的功能和上面一样的 !!很好用 很实用
2019.11.27
控制结构
判断语句
if(){}else{} 这里
ifelse(rbinom(10,1,0,5),yes='字',no='花')
loan = c("A","B","D","C","C","B","A","B","A","D")
ifelse(loan=="B",NA,ifelse(loan=="D","否","是"))
循环语句
for () {}
循环嵌套
m = matrix(1:6,2,3)
for (i in 1:2) {
for (j in 1:3){
print(m[i,j])
}
}
无限循环 配合break
repeat一般不使用,偶尔会用到,适用无限逼近
next ,return
next可以用于如何一种循环,用来跳过某一次迭代,类似python-continue
return也可以退出循环,主要用于退出函数,会结束函数,返回一个值
9*9乘法表
1:9 %*% t(1:9)
t(1:9),原本是9行一列,转置就变成了1行9列
会将前面也变成矩阵
2019.11.28
函数 关键字:function
函数的嵌套
循环函数
lapply:针对的是列表,中的每个元素,对输出不简化
lapply(x,mean)
sapply:针对的是列表,中的每个元素,对输出简化
lapply(x,colmean)
quantile(1:10,probs = c(0,1)) 求分位数
apply(x,方向,函数):针对的是数据框或者数组
rowMeans()-->apply(x,1,mean)
rowSums()-->apply(x,1,sum)
colMeans()-->apply(x,2,mean)
colSums()-->apply(x,2,mean)
数组是:2*3*4的数据,apply(x,c(1:2),mean)
返回的数据就是2*3的数据,是对边界的高进行压缩
tapply:针对的是向量
tapple(x,Index,fun)
Index:是对向量x进行分组,然后执行fun函数
q=c(1:10,11:20)
tapply(q,gl(2,10),mean)
split:针对的是数据框,进行分组,输出list
split(x,f,drop=T) 参数三是否要去掉空等级
qq = airquality
lair = split(qq,qq$Month)
sapply(lair,colMeans,na.rm=T) ##colmean是用于数据框的
interaction()## 对向量向量取交集
数据的清洗
排序
sort() ##输出数值
order() ##输出升序的数值所对应索引值
x[order[x]] = 可以用在数据框中使用
arrange(qq,desc(qq$math),qq$eng)
##需要安装plyr 数据按math降序排序,再按eng升序排序
分箱 install("Hmsic")
自定义分箱
等宽分箱 --》区间是范围一样
cut(x,3,label=c()) ##将数据等宽分成3部分,label设置标签,include.lowest=T --》切割点包含最小值
等深分箱 --》区间中的包含的数据一样
cut2(x,m=3) ##将数据等深分成三部分
excel的使用
外部包 openxlsx
read.xlsx("文件名",sheet) ##sheet可以采用数字页,或者页的文件名字
convertToDateTime(x2$x1) ##读文件,日期格式会变成数值,采用这个进行转换成日期格式
sql语句的汇总
sinfo = data.frame(id=1:4,name=c("hmm","cc","qq","bbc"))
smath = data.frame(id1=1:3,math=94:92)
seng = data.frame(id=1:5,math1=94:90)
##链接表的几种方式
rbind(seng,smath) ##要求的是列名字都相同
#外部包sqldf sql语句
library(sqldf)
sqldf("select * from sinfo,smath") ##笛卡尔乘积
sqldf("select * from sinfo union all select * from smath") ##union链接表,列要相同
sqldf("select * from sinfo left join smath on sinfo.id=smath.id") #left join
sqldf("select * from sinfo except select * from smath") ##表1 - 表2
##内部包dpldr
merge(sinfo,smath,by.x = "id",by.y = "id1")
merge(sinfo,seng,by = "id")
merge(sinfo,seng,by = "id",all=T) ##all全链接,和left join一样
##外部包dplyr
library(dplyr)
inner_join(sinfo,smath,by=c("id1","id"))
维度转换 --》外部包library(reshape2)
二维转一维
melt(soce,id.vars = c("id","name","math","eng"),measure.vars = c("math","eng"))
一维转二维
dcast(q,id+name+math~variable,value.var = "value")
dcast(qq,sex~variable,value.var = "value")
删除变量
rm()删除变量
ls()查看全局变量有哪些
rm(list=ls())删除全部的全局变量
R1-5天的更多相关文章
- PP66 EEPPPPMM SSyysstteemm AAddmmiinniissttrraattiioonn GGuuiiddee 16 R1
※★◆●PP66 EEPPPPMM SSyysstteemm AAddmmiinniissttrraattiioonn GGuuiiddee 16 R1AApprriill 22001166Conte ...
- P6 EPPM Installation and Configuration Guide 16 R1 April 2016
P6 EPPM Installation and Configuration Guide 16 R1 April 2016 Contents About Installing and ...
- P6 EPPM 16 R1 文档和帮助系统
P6 EPPM 16 R1 文档和帮助系统 https://docs.oracle.com/cd/E74894_01/ http://docs.oracle.com/cd/E68202_01/clie ...
- P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1
P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1 May ...
- 位运算取第一个非0的位 r & (~(r-1))
Single Number III Given an array of numbers nums, in which exactly two elements appear only once and ...
- Intersoft Mobile Studio 2013 R1 SP1 Crack
Intersoft Mobile Studio 2013 R1 SP1 (iOS, Android & WinR) Leave a comment tweet inShare ...
- 洛谷3月月赛 R1 Step! ZERO to ONE
洛谷3月月赛 R1 Step! ZERO to ONE 普及组难度 290.25/310滚粗 t1 10分的日语翻译题....太难了不会... t2 真·普及组.略 注意长为1的情况 #include ...
- SDOI 2019 R1游记
$SDOI$ $2019$ $R1$游记 昨天才刚回来,今天就来写游记啦! Day -5: 做了一下去年省选的Day1,感觉很神仙. Day -4: 做了一下去年省选的Day2,感觉还是很神仙. Da ...
- SDOI2017 R1做题笔记
SDOI2017 R1做题笔记 梦想还是要有的,万一哪天就做完了呢? 也就是说现在还没做完. 哈哈哈我竟然做完了-2019.3.29 20:30
- SDOI2014 R1做题笔记
SDOI2014 R1做题笔记 经过很久很久的时间,shzr又做完了SDOI2014一轮的题目. 但是我不想写做题笔记(
随机推荐
- 计算几何 val.3
目录 计算几何 val.3 自适应辛普森法 定积分 引入 辛普森公式 处理精度 代码实现 模板 时间复杂度 练习 闵可夫斯基和 Pick定理 结论 例题 后记 计算几何 val.3 自适应辛普森法 可 ...
- C# 读写倍福plc beckhoff , 使用ADS协议实现读取plc
本文将使用库技术来读写倍福PLC数据,使用的是基于以太网的ADS实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 github地址:https://g ...
- C# 32位程序 申请大内存
后期生成事件命令行代码: cd /d $(DevEnvDir)cd..cd..cd VC\bineditbin /largeaddressaware $(TargetPath)
- Android Studio 3.0+ Record Espresso Test 自动化测试
准备工作 1.将android studio 版本升级到3.0+2.百度下载夜神模拟器 夜神模拟器的基本设置 PS:以上就是夜神模拟器的基本设置 Android Studio 连接夜神模拟器 //夜神 ...
- MySQL5.6与MySQL5.7安装的区别
一.MySQL5.6与MySQL5.7安装的区别 1.cmake的时候加入了boost 下载boost.org 2.初始化时 cd /application/mysql/bin/mysql 使用mys ...
- nginx安装及配置访问本地文件
第一步安装nginx windows可以直接去官网下载,解压就能用 http://nginx.org/en/download.html ubuntu用命令行 sudo apt-get install ...
- 关于spring boot上手的一点介绍
在spring官网网址 https://spring.io/guides 下,有许多相关介绍,包括可以构建的例子程序. 使用intellij idea,可以通过新建 spring boot initi ...
- 第一篇:C++之hello world
1.编辑器:Microsoft Visual C++ 2010,下载安装 2.新建项目 代码: #include <iostream>#include <Windows.h>/ ...
- vuex——action,mutation,getters的调用
一.子模块调用根模块的方法 mutation调用 context.commit('clearloginInfo',{key_root:data},{root:true}); action调用 co ...
- react 项目引入路由
下载路由包 npm i react-router-dom -d 前台路由 登陆: /login /login.jsx App.js import React ,{Component} from 're ...