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天的更多相关文章

  1. PP66 EEPPPPMM SSyysstteemm AAddmmiinniissttrraattiioonn GGuuiiddee 16 R1

    ※★◆●PP66 EEPPPPMM SSyysstteemm AAddmmiinniissttrraattiioonn GGuuiiddee 16 R1AApprriill 22001166Conte ...

  2. P6 EPPM Installation and Configuration Guide 16 R1 April 2016

    P6 EPPM Installation and Configuration Guide 16 R1         April 2016 Contents About Installing and ...

  3. P6 EPPM 16 R1 文档和帮助系统

    P6 EPPM 16 R1 文档和帮助系统 https://docs.oracle.com/cd/E74894_01/ http://docs.oracle.com/cd/E68202_01/clie ...

  4. 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 ...

  5. 位运算取第一个非0的位 r & (~(r-1))

    Single Number III Given an array of numbers nums, in which exactly two elements appear only once and ...

  6. Intersoft Mobile Studio 2013 R1 SP1 Crack

    Intersoft Mobile Studio 2013 R1 SP1 (iOS, Android & WinR) Leave a comment   tweet       inShare ...

  7. 洛谷3月月赛 R1 Step! ZERO to ONE

    洛谷3月月赛 R1 Step! ZERO to ONE 普及组难度 290.25/310滚粗 t1 10分的日语翻译题....太难了不会... t2 真·普及组.略 注意长为1的情况 #include ...

  8. SDOI 2019 R1游记

    $SDOI$ $2019$ $R1$游记 昨天才刚回来,今天就来写游记啦! Day -5: 做了一下去年省选的Day1,感觉很神仙. Day -4: 做了一下去年省选的Day2,感觉还是很神仙. Da ...

  9. SDOI2017 R1做题笔记

    SDOI2017 R1做题笔记 梦想还是要有的,万一哪天就做完了呢? 也就是说现在还没做完. 哈哈哈我竟然做完了-2019.3.29 20:30

  10. SDOI2014 R1做题笔记

    SDOI2014 R1做题笔记 经过很久很久的时间,shzr又做完了SDOI2014一轮的题目. 但是我不想写做题笔记(

随机推荐

  1. C#封装继承

    面向对象开发有三大特性(特点 / 特征) : 封装, 继承, 多态.我们今天主要讨论封装和继承,多态会在下篇中讨论. 一.封装: 所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法 ...

  2. JS---课程介绍 + JavaScript分三个部分

    Web API---课程介绍 DOM:     概念-----能够说出来--理解     作用----记住了----后来理解     回顾JS分几个部分---知道        DOM树---能够说出 ...

  3. vue如何debugger源码

    在我们阅读vue源码时,一般引用vue的版本都是打包编译后的版本,无法debugger源码,要debugger源码,就需要给代码添加sourcemap,他存储源码与编译后代码的一种对应关系,详细内容可 ...

  4. dex方法隐藏后的反编译和运行时 效果

    隐藏smali方法后 java源码: int b = fun2(); baksmali解释为: invoke-virtual                  {v1}, <int MainAc ...

  5. IIS配置和发布网站

    一.安装配置IIS 控制面板->程序和功能->启用或关闭Windows功能 选中“Internet Information Services”,勾选Web管理工具子项,万维网服务子项(万维 ...

  6. ES6.x

    类 class Animal{ constructor(name){ this.name=name } Spack(){ console.log(name) } } class Dog extends ...

  7. crontab -e 报错(E518: Unknown option: foldenable)

    crontab 默认编辑器为vi,不支持foldenable #crontab -e Error detected while processing /root/.vimrc: line : E518 ...

  8. Cocos2d-x.3.0开发环境搭建

    配置:win7 + VS2012 + Cocos2d-x.3.0 + Cocos Studio v1.4.0.1 前言:本文介绍在上述配置下进行游戏开发的环境搭建.开发语言为C++.如果读者不需要查看 ...

  9. java基础 - 形参和实参,值传递和引用传递

    形参和实参 形参:就是形式参数,用于定义方法的时候使用的参数,是用来接收调用者传递的参数的. 形参只有在方法被调用的时候,虚拟机才会分配内存单元,在方法调用结束之后便会释放所分配的内存单元. 因此,形 ...

  10. xamarin调试android部署到模拟器错误记录:Deployment failed Mono.AndroidTools.InstallFailedException: Unexpected install output: Error: Could not access the Package Manager. Is the system running?

    问题记录: 1.生成 ok. 2.昨天也是能部署到模拟器的. 但是今天部署的时候就报了这样的一个错误 Deployment failed Mono.AndroidTools.InstallFailed ...