R-设置工作空间

先把R.exe加到环境变量里去,每次开RStudio有些烦

setx Path "%Path%;D:\R\R-3.3.2\bin"

基本须知

工作空间可以存储变量和函数,但对于计算结果和print()命令则不会保存,不同于matlab会存储在ans变量中。
如果R检测到输入的命令行为技术,就会给出提示符'+',按Esc可以退出
注释 #
下标从1开始
看长度length(x)
赋值x<-100
$ 属性操作符

工作目录

getwd() # 读取当前工作空间路径 setwd("d:/work/MyR") # 设置工作空间

控制终端输出

sink("d:/output.txt") # 后续代码的输出写入到output.txt文件中 sink() 恢复到终端上显示

运行脚本文件

source('"d:/MyScript.r")

设置工作空间

R语言默认是把当前工作空间保存到当前工作目录下的r文件中的.RData文件中
sava.image("d:/data.RData") # 保存到d:/data.RData文件当中 load("d:/data.RData") # 加载工作空间 rm(list=ls()) # 删除当前工作空间中的所有对象 rm(a) # 删除对象a

帮助

?setwd # 打开setwd的帮助文件 ??setwd # 检索所有与setwd有关的信息

数据类型

静态类型语言要求在变量使用前先定义,如C、JAVA
动态类型语言可以在使用时改变类型,如R、Python
弱类型语言中不同数据类型之间可以混合,如VBS
强类型语言必须通过类型转换函数,如R
实数 mode(9.1) --> numeric
复数 mode(9.1+11i) --> complex no 9.1+i1
逻辑 mode(T) --> logical
T<->True F<->False
字符串 mode("abc") -> character
mode() # 读取数据类型 as.<数据类型>() # 修改数据类型

NA 缺失类型,在内存中占空间,在函数中可以通过参数na.rm=T忽略
NULL 未知类型,不占空间,自动忽略

对象和属性

向量、因子、数组、矩阵、数据框、列表、时间序列
attribute(x) # 查看x的所有属性和对应的值
attr(x,"name") # 查看x的name属性的值,并可以通过赋值直接修改
rm 删除对象,参照上述的例子

向量

向量创建

创建 x<-c(1,2,3,4),创建向量时如果数据类型不同,如c(1,"2",3),则会自动向上转型,次序为逻辑->数值->字符

向量索引
  1. 下标索引
    a<-c(1,2,3,4)
    a[1]
    a[-1]
    a[-c(2,3)]

  2. which索引
    which函数是返回符合条件的元素的下标
    which(a==1)
    which(a==c(1,2))
    which(a!=1)
    which(a>4)
    简单的方式x[x<2]就行
    如果都不满足则返回0

向量扩展

a<-c(1,2,3,4)
a<-c(a,c(5,6))

向量删除

a<-c(1,2,3,4)
a

向量排序

rev(a) 倒序
sort(a) 顺序
rev(sort(a)) 倒序

向量去重

a<-c(1,1,2,3)
unique(a)

删除缺失值

a<-c(1,NA,2)
a<-a[!is.na(a)]

向量间操作

留坑

数组

留坑

矩阵

matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)

byrow=1可以看出和matlab一样按列填充
索引的话

x[1,1]
x[1,]
x[,1]

字符串

留坑

数据框

data.frame(column1,column2,...)
attach(x) 把x中的变量加载到工作空间中
disach(x) 把x中的变量从工作空间释放

正则表达式

留坑

因子

留坑

常用数据创建

等差数列

seq(1,10,by=2,lenth.out=5)
关键是首项尾项步长总长,逻辑上能得到一个向量就行
还可以通过指定首项和尾项简单的创建一个向量1:7 1:-7这种

抽样

sample(x,size,replace=F)
x 是初始向量
size 是个数
replace=F 不放回抽样

序列复制

rep(c(1,2,3),3)
[1] 1 2 3 1 2 3 1 2 3

概率分布
R-设置工作空间_第1张图片
来自度娘

以正态分布为例
p<分布> pnorm(x,mean,sd) 计算x对应的值
d<分布> dnorm(x,mean,sd) 计算x对应的概率密度值
q<分布> qnorm(x,mean,sd) 计算x对应的下分位点值
r<分布> rnorm(x,mean,sd) 创建x个值

条件选择和循环

条件选择

if () { } else if () { } else { }

switch(result,case1,case1处理,case2,case2处理,...) 感觉有点奇葩
循环
while () { }

for (i in 向量) { }

支持break next

运算符

算术运算符+ - * / ^ %%(求余) %/%(整除)
逻辑运算符& | !

函数

留坑

数据读写

这里我们只讨论最常见的csv格式read.csv("d:/test.csv")就行了
我有一张excel表,开始想当然的直接把后缀改成了csv,然后估计是由于格式乱的原因禁止访问了
然后先在excel里打开后另存为csv文件,结果excel2016给我弄成了\t分隔,
没办法,自己用正则表达式将\t换成了','然后read.csv就可以了
总结一下,一定得是下面这种以逗号分隔的格式才行。

R-设置工作空间_第2张图片
手动修改后

绘图

  1. 获取原始数据
  2. 有必要的话,对绘图区域进行分割
  3. 绘制图形
  4. 标注图形
  5. 设置图形格式
  6. 保存和导出图形
分割

par(mfrow=c(3,2)) 将绘图区域分成3行2列
layout 函数比较强大

留坑

split.screen()比较好用 R语言实战里有个例子

绘制图形
R-设置工作空间_第3张图片
摘自数据分析:R语言实战

参数估计

*** 参数的区间估计和假设检验实际上对一个问题不同角度的讨论 ***

由辛钦大数定律和科尔莫哥洛夫强大数定理可知,如果总体X的k阶矩存在, 则样本的k阶矩以概率收敛到总体的k阶矩, 样本矩的连续函数收敛到总体矩的连续函数. 这就启发我们可以用样本矩作为总体矩的估计量, 这种用相应的样本矩去估计总体矩的估计方法就称为矩估计法.
矩估计可能是不唯一的, 这是矩法估计的一个缺点,
此时通常应该尽量采用低阶矩给出未知参数的估计.
另外,方差和均值的表达式对所有分布式通用的,所以分布未知时,也是可以用样本的方差和均值去估计总体的

随便写点

R语言实战里有一些冷门的小技巧,数据分析R语言实战则实用性很强
%*% 内积
* 外积
默认类型double 但0:5得到的是integer
var() 方差
sd() 标准差
mean()
sum()

你可能感兴趣的:(R-设置工作空间)