R语言--

一、软件安装:(R软件+Rstudio)

1)R软件(或者revolutions R社区版):

https://www.r-project.org/——CRAN——China——download R for Windows——base——download R-4.4.1 for Windows

2)Rstudio:

        第三方集成环境

二、安装R扩展包

        通过CRAN下载

2种安装方式

        1)联网在线安装(推荐

        install.packages("包名"):函数。下载扩展包

        .libPaths():函数。查看库所在位置(注意函数前有1个小数点符号“.”)

        library():函数。显示库里所有安装包

        2)源代码安装

                R官网下载扩展包

 处理数据时,部分相关操作流程

        1)读入文件:df <- read.table("xx.csv", sep = "-",head = T)

                df:数据框,命名自定义

                read.table():创建数据框的函数

                sep = "-":分隔符,符号自定义

        2)提取:table(列名)

        3)分组统计:aggregate(df$len, by = list(df$列名))

        将变量转为因子:

                class(df$列名)

                df$列名 <-as.factor(df$列名)

                class df$列名

        4)查看结果/数据分析:summary(变量)

        5)数据可视化:interaction.plot(df$列名...)

                interaction.plot():绘图函数
 

三、使用R扩展包

        library(包名):函数。载入包

        require(包名):函数。

        help = (packages = “包名”):函数。

        library = (packages = “包名”):函数。查看扩展包的信息

        ls(“package:vcd”):函数。查看R扩展包中所有函数

列出已安装包:

        install.packages():列出已安装的扩展包

        save(Rpack,file = “Rpack.工作目录”)

        Rpack

        for(i in Rpack)install。packages(i)        //for循环

四、R基操

R语言区分大小写

清屏:CTRL+L

查看所有快捷键:Alt+Shift+K

        1)设定工作目录:setwd(dir = “磁盘:/一级路径/二级路径/.../工作目录文件名/”)

                getwd()/dir():函数。显示当前工作目录

                list.files():函数。查看目录下文件

                setwd():函数。设置工作目录

<<-:强制赋值给全局变量

        ls.str():函数。列出文件及详细信息(不含隐藏文件)

        ls(all.names = TRUE):函数。列出所有文件(含隐藏文件)

        rm(变量):函数。删除变量

        save.image():函数。临时保存文件

        q():函数。退出

五、R语言内置数据集

        数据集内置在datasets扩展包中

分类:

        1)向量;2)因子;3)矩阵、数组;)4)类矩阵;5)数据框;6)类数据库;7)时间序列数据...

1. 数据类型

        1)数据结构

                数据元素的集合

        分类:

                数值型、字符串型、逻辑性、日期型

        1-1)普通数据结构

                向量、标量、列表、数组

        1-2)特殊数据结果

                Perl中的哈希

                python中的字典

                C中的指针

        2)向量c

               集合。一维数组

        seq():函数。生成序列

        mode():函数。查看数据类型

        2-1)向量索引

          2-1-1)正整数索引

        x <- c(1:100)//创建1-100的向量x

        x[-19]        //去除第19个元素

增删改查:

        添加向量:x[101] <- 101        //要添加的值自定义

        删除向量:x <- [c(1,3)]

        修改/插入向量:append(c <- x,values = 999,after = 9)//在第9个元素后插入999

        查询向量:grep()函数

向量运算:

        长向量必须是短向量的整数倍,才能进行运算

        相乘:x ** y(或者x^y)

        取余:x %% y

        除:x %/% y

        mean():函数。均值

        var():函数。方差

        ad():函数。标准差

        prod():函数。连乘积

        quantile():函数。分位数

%in%:包含

        3)矩阵、数组

                二维的。需要行列

                矩阵的所有数据类型必须一致

heatmap(矩阵):函数。绘制热图

dim():函数。维数

        3-1)矩阵索引

        m[1,c(2,3)]        //第1行,2、3列

        矩阵运算:乘法

                1)内积

                2)外积

        4)列表

                多种数据类型混合的数据结构

                列表不能赋值

        列表的访问

                1)索引方式

                2)$方式

                       eg: mlist$first

        [ ]和[[ ]]

                [ ] :输出的是列表的子集。还是列表,不能赋值

                [[ ]]:输出的是元素本身类型

        5)数据框

                本质是列表。列必须命名

                每列必须为同一类型

               行:观测

                列:变量

创建数据框:

        数据框名 <- date.frame(变量1,变量2...)//数据框名自定义

                 date.frame():函数。创建数据框

数据框的访问:

        1)索引方式

        2)$方式

        3)[[ ]] 方式

attach():函数。加载数据框

        6)因子

        6-1)变量分类

                1)名义型变量:无顺序分别。字符串

                2)有序型变量:不同值之间有顺序关系。但不是连续的数量变化

                3)连续型变量:某范围内任意值。数值类

        6-2)因子factor

                名义型变量、连续型变量

                本身是向量

                水平:

                        名义型变量和连续型变量(因子)的变量值

                因子:

                        水平值构成的向量

                因子的作用:

                        分类;计算频率、频数

        7)字符串

                支持正则表达式

        nchar():函数。统计字符串长度。统计每个字符串的长度

        length():函数。统计长度。统计有多少个元素

        paste():函数。粘贴、合并字符串

        substr():函数。提取字符

        toupper():函数。所有字符转大写

        tolower():函数。所有字符转小写

        gsub():函数。参数为/U时,首字母转大写;参数为/L时,首字母转小写

        grep():函数。查找字符串(支持正则表达式)

        match():函数。查找字符串(不支持正则表达式)

        strsplit():函数。分割字符串。返回值时列表

笛卡尔积::

        生成两个字符串的所有可能结果的组合

        outer()函数

        

        8 )日期和时间

                时间序列

        Sys.Date():函数。查看当前时间

        strftime():函数。查看更多格式转化

六、获取数据

1. 获取数据

        1)键入

                创建数据框:通过data.frame()函数创建

                往数据框中键入数据

        或者通过fix()函数直接键入数据

        2)读外部存储

        3)访问数据库

                ODBC(开放数据库连接)

                安装RODBC扩展包:install.packages(“RODBC”)

2. 读入文件

        1)纯文本文件

                read.table():函数。将文件复制给对象

                head():函数。截取文件头部行数,默认6行

                tail():函数。截取文件尾部行数,默认6行

        2)网络文件

                read.table():函数。内有多个参数,使用时请将第一个参数设置为读入的网络文件的url

                read.Clipboard():函数。读取剪切板的内容

3. 写入文件

        1)对象是数据框:write.table()函数

        2)写入到csv文件:write.csv()函数

                csv文件的分隔符是逗号“,”,文件的后缀是“.csv”

                添加row.names = FALSE参数后,不会将行号写入到文件中

                        或者负索引删除第一行效果一样

4. 读入excel文件

        read.csv()函数

需要安装XLConnect扩展包

        XLConnect扩展包依赖Java,计算机需要配置Java的运行环境(搜索教程自行配置)

        安装XLConnect扩展包步骤:

                1)安装XLConnect扩展包:install.packages(“XLConnect”)

                2)导入XLConnect扩展包:library(XLConnect)

                3)使用XLConnect扩展包(2种使用方式)

                        第1种使用方式(2步法读取整个工作簿):

                                第一步:loadWorkbook(“文件名”)

                                第二步:readWorksheet()函数        //参数查看帮助文档

                        第2种使用方式(1步法)

                                readWorksheetFromFile()函数

                4)将数据导入excel中(2种方式)

                        第一种方式(4步法)

                                steps:

                                          (1)创建文件:loadWokbook(“文件名”,create = T)

                                          (2)在文件中创建工作簿:createSheet(变量名,“表名”)

                                        (3)将数据保存到工作簿:writeWorksheet(变量名,data = 数据,sheet = 表名)

                                        (4)将工作簿保存为excel:saveWorksheet(变量名)

                                示例:

wb <- loadWokbook(”file.xlsx“,create = T)

createSheet(wb,“Sheet 1”)

writeWorksheet(wb,data = mtcars,sheet = “Sheet 1”)

saveWorksheet(wb)

1步:

writeWorksheetToFile(“file1.xlsx”,data = mtcars,sheet = “Sheet 1”)

  5. 读写R格式文件

        RDS文件:保存R的单个对象

         save RDS()函数

        save RDS(数据.file = “数据.RDS”)

七、缺失数据

        R中NA代表缺失数据

1. 处理缺失值

        na.omit()函数

        示例:

                c <- c(NA,1:20,NA)//创建一个带有缺失值的向量c

                d <- na.omit(c)//对c向量进行缺失值的处理

2. 函数

        library(VIM)

        is.na(sleep):测试sleep数据集

        rowSums(sleep):计算每行缺失值数

        colSums(sleep):计算每列缺失值数

        NaN:表示缺失数据。通过is.nan()识别

        Inf:表示无穷。通过is.inf()识别   

八、    数据格式转换

        读取excel文件:使用xlsx扩展包

1. 矩阵转化为数据框

        类型转换:as.xx

        变量名  <- as.data.frame(矩阵类型的数据)

        1)取出某行:

                ["行号“,]

                eg:state[”Nevada“,]

                逗号”,“不可省略

        2)取子集操作

                1.索引

                who1 <- who[c(1,3,5,7),c(2,4,6,8)]

                        c(1,3,5,7):行

                        c(2,4,6,8):列

                subset()函数

                sample()函数:随机抽样

        3)删除固定行

                1.负索引方式

                2.将NULL赋值给需要删除的行

        4)数据框行、列的添加

                1.用data.frame重新生成一个数据框

                2.cbind()、rbind()

                        可用于矩阵

                        对于rbind():

                                要求:新数据与原数据具有相同类名

        5)删除重复项

                duplicate()函数:判断重复值

                原数据取反:取出非重复项

        6)数据框的翻转(行、列互换)

                t()函数:行、列互换

                rev()函数:单独行/列翻转。行头变行尾,行尾变行头(列同理)

        7)修改数据框中的值

                transform()函数

order()/sort():排序

        8)数据的中心化和标准化

                中心化:每个元素减去平均值

                标准化:中心化的标准差(ad()函数可求标准差)

        9)reshape2扩展包

                1.安装reshape2扩展包:install.packages(“reshape2”)

                2.导入reshape2扩展包:library(reshape2)

“~”符号在R中表示相关联

        10)tidyr扩展包、dplyr扩展包

                1.安装tidyr扩展包、dplyr扩展包:install.packages(“tidyr”,“dplyr”)

                2.导入:library(tidyr)

tidy data:

        每行代表观测

        每列代表变量

        行、列确定唯一值

4个重要函数

        gather():宽数据转为长数据

        spread():长数据转为宽数据

        union():多列合为一列

        separate():一列分为多列

%>%符号:将A的输出作为B的输入

        1)dplyr的部分函数

                左连接(以左表为基础):

dplyr::left_join(a,b,by ="x1")    //a为左表,b为右表

                右连接(以右表为基础):

dplyr::right_join(a,b,by ="x1")    //a为左表,b为右表

                内连接(x1的交集)

dplyr::innr_join(a,b,by ="x1")    //a为左表,b为右表

                全连接(x1的并集)

dplyr::full_join(a,b,by ="x1")    //a为左表,b为右表

                半连接(a、b交集)

dplyr::semi_join(a,b,by ="x1")    //a为左表,b为右表

                反连接(a、b补集)

dplyr::anti_join(a,b,by ="x1")    //a为左表,b为右表

                interset();取交集

                dplyr::union_all():取并集

                 dplyr::union():取非冗余的并集

                 setdiff(first,second):取first的补集         

九、R函数

        1.独立性检验

        1)卡方检验:chisq.test()函数

        2)fisher检验:fisher.test()函数

        3)C-M-H检验

        2.假设检验

                原假设——没有发生

                备择假设——发生了

        假设原理

                2个名义变量在第3个变量的每一层中都是独立的

        判断:p-value

                p-value越小,越不靠谱

                不拒绝原假设——p > 0.05

                拒绝原假设——p < 0.05

        3.相关性分析

                衡量指标:各种相关系数

                cor()函数

        偏相关系数

                偏相关:控制一个或多个变量

                                其余变量之间的相互关系

                ggm扩展包

        4.相关性检验

                cor.test()函数

                置信区间:概率 + 概率范围(eg:1/2 加 1/2的概率范围在40%~50%)

                corr.test()函数

                pcor.test()函数

非参数检验 + 参数检验:构成了统计推断的基本内容

        5. 绘图函数

                1)基础绘图系统

                (1)高级绘图

                        一步到位,直接绘图

                (2)低级绘图

                        在高级绘图的基础上加工,还需要其他操作

                2)lattice扩展包

                3)ggplot2扩展包

                4)grid扩展包

重要绘图函数

        1)plot()

        2)par()

S3系统:属性、方法、泛型函数

        6.线性回归

                回归:一个或多个自变量,预测因变量

        普通最小二乘回归法(OLS)

        lm()函数

                lm(因变量,自变量)

        残差:真实值 ➖预测值(残差越小,模型越精确)

        summary():展示详细结果

更多

        需要了解更多函数的参数信息,直接查看帮助文档

                ?函数名:查看相关帮助文档。函数名根据需要输入

        需要了解更多函数的扩展包信息

                help(packages = “包名”):查看扩展包的帮助文档

                

  • 22
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值