ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

R语言入门篇01:基本使用与函数

2021-02-06 10:32:28  阅读:330  来源: 互联网

标签:01 函数 矩阵 入门篇 2.3 数据 向量 语言


目录

1 起源、安装及界面

1.1 R语言起源

1.2 R语言优势

1.3 R语言安装与界面

1.4  其他辅助工具

2 基本使用

2.1 前言

2.2 基础函数和语法

 2.3 R语言数据对象及操作

2.3.1 数据对象类型

2.3.2 向量

2.3.3 矩阵和数组

 2.3.4 因子 

2.3.5 列表和数据框

2.3.6 字符串

2.3.7 变量

2.3.8 缺失值处理

3 函数

3.1 基本函数

3.2 高级函数

3.3 数据整理

3.4 一些其它函数

3.4.1  转换函数及排序函数

3.4.2 排序函数

3.4.3选定特定行或子集



1 起源、安装及界面

1.1 R语言起源

R语言的前身是S语言,S语言诞生于 John M Chambers领导的贝尔实验室统计研究部。S语言表现极为优秀,因此在1998年被美囯计算机协会(ACM)授予了软件系统奖,这是迄今为止众多软件中唯获得过该奖项的。1992年 Ross Ihaka和 Robert gentleman在奥克兰大学成为同事,二人为了教学的目的基于S合作开发了一们门新的语言,根据二人的名字首字母,将其命名为R。时至1995年6月,在很多人的建议下,R终于在GP协议下作为开源软件发布了。

1.2 R语言优势

  • 数据分析功能强大
  • 编程简单(我不承认)
  • 整合能力强
  • 实现了可重复性分析
  • 开源和免费
  • 跨平台
  • 更新快速其文档完备

1.3 R语言安装与界面

一般情况下都是安装R语言和R studio ,安装方式不再赘述,详细参考:

项目链接
R语言介绍R语言是什么?
软件安装R和Rstudio 安装教程
软件安装(Windows)Windows下安装和编译
R语言入门R语言入门教程-敲着试一试
R语言基本统计分析基本统计分析
R Studio界面(windows)windows界面讲解
R Studio界面设置界面设置(如何更加美观)

若安装运行失败请确认是否安装在英文路径下。

1.4  其他辅助工具

可视化分析的包:rattle 与Rcmdr

超级边界的rattle数据分析包

2 基本使用

2.1 前言

R是一种区分大小写的解释性语言。

  • 可以在命令提示符(>)后每次输入并执行一条命令,戒者一次性执行写在脚本文件中的一组命令。
  • R中有多种数据类型,包括向量、矩阵、数据框(不数据集貌似)以及列表(各种对象的集合)。我们将在第二周中讨论这些数据类型。
  • R中的多数功能是由程序内置函数和用户自编函数提供的,一次交互会话期间的所有数据对象都被保存在内存中。
  • 一些基本函数是默认直接用的,而其他高级函数则包含亍按需要加载的程序包中。

2.2 基础函数和语法

直接上表格

基础函数和语法
函数/语法说明
help("包")查看帮助文档
install.packages("包")下载包
library("包")载入包
a<-2赋值a为2
2->a赋值a为2
a=2赋值a为2
plot(变量)绘图
head(变量)显示变量头部数据
getwd()查看当前工作目录
setwd()修改工作目录
update.packages()更新包
installed.packages()已安装包
rm()移除对象

 2.3 R语言数据对象及操作

2.3.1 数据对象类型

  • R拥有许多用于存储数据的对象类型,包括向量、矩阵、数组、数据框和列表。它们在存储数据的类型、创建方式、结构复杂度,以及用于定位和访问其中个别元素的标记等方面均有所不同。
判别和转换数据对象类型的函数
类型判别转换
characteris.character()as.character()
complexis.complex()as.complex()
intergeris.interger()as.interger()
logicalis.logical()as.logical()
NAis.na()as.na()
numericis.numeric()as.numeric()
  • 使用methods(is)和methods(as)可以查看更多的函数!

2.3.2 向量

  • 向量可以是数值型、字符型、逻辑型和复数型。(使用mode()函数获取向量类型)

  • 使用seq()创建自定义数组

 

2.3.3 矩阵和数组

  • 利用矩阵matrix可以描述二维数据,和向量相似,其内部元素可以是实数、复数、字符、逻辑型数据。矩阵matrix使用两个下标来访问元素,A[i,j]表示矩阵A第i行、第j列的元素。多维数组array可以描述多维数据。array有一个特征属性叫维数向量(dim属性),它的长度是多维数组的维数,dim内的元素则是对应维度的长度。矩阵是数组的特殊情况,它具有两个维度。通过行列控制矩阵(参考如下代码)。

w<-seq(1:10)
matrix(w,nrow=2,ncol=5)

  

  • byrow=TRUE按行填充,bycol=TRUE按列填充
  • 在创建矩阵时,也可以使用dimnames创建:dimnames=list(paste0("row",1:5),paste0("column",1:2))
  • 矩阵的合并使用cbind()和rbind()
x1<-rbind(c(1,2),c(3,4))
  • 矩阵拉直 as.vector(A)
  • 数组创建array()函数
a<-array(1:30,dim=c(2,3,5))

  

  • dim()函数查看维数情况,nrow()\ncol()返回行数和列数
矩阵函数
函数作用
colSums()各列求和
colMeans()各列均值
rowSums()各行求和
rowMeans()各行均值
appy(A,1,sum)特殊函数求解

  

 2.3.4 因子 

  • factor()函数,参数由x,levels lables exclude ordered nmax
  •  

2.3.5 列表和数据框

  • 列表list和数据框data.frame也是一个二维数据,其中向量vector、多维数组array以及矩阵matrix存储的元素,其数据类型是唯一的。列表和数据框内每列元素的数据类型可以不同,列表内的长度也可以不同。一般地,在使用R语言进行数据分析和挖掘的过程中,向量和数据框的使用频率是最高的,list则在存储较复杂的数据时作为数据对象类型。
  • 列表和数据框
    函数/语法作用
    list(stud.id=  ,stud.name=  ,stud.marks=c( , , ,))根据需要创建列表
    length()检查列表成分的个数
    unlist()将列表元素转化为向量元素

    data.frame()

    data.frame(site=c( , , , ),season=c( , , , ))

    数据框的创建
    names()读取名称
    colnames()列名称
    rownames()行名称
    <数据框>$列名称按列名称索引
    <数据框>$[列下标]按列下标索引
    <数据框>$["列名称"]按列名称索引
    <数据框>$[,列名称]按列名称索引

     

2.3.6 字符串

  • nchar()函数用于读取字符串内部字符数目
  • paste(a,b,seq=',')函数用于字符串合并:paste0()默认逗号分隔
  • strsplit()函数,可以根据指定字符串把字符串分割成列表,分割字符串不再出现
  • substr()函数进行读取和替换字符串 :substr(x,start,stop)
  • chartr()函数直接搜索替换,chartr(old,new,x)

2.3.7 变量

  • 运算符一览
算术运算符
符号作用
+
*
/
^或**求幂
x%%y求模
x%/%整数除法
  • 增加新变量
    • 直接赋值 mydata<-iris[,1:2]
    • mydata$新增加列名
    • rm(list=ls())清楚工作区变量
    • 变量重新编码:mydata$am<-ifelse(mydata$am==0,"automatic","manual")
    • 变量重新编码 & 用和可以增加条件
  • rename()变量重命名(来源于reshape包):rename(dataframe,c(old="new"))
  • 变量虚拟化处理:加在caret包,使用dummmyVars()函数

2.3.8 缺失值处理

  • is.na()检测缺失值是否存在,cmoplete.cases()告诉我们哪行有缺失值,na.omit()函数删除缺失值。

3 函数

3.1 基本函数

函数 作用 sum(x) 求和 max(x)  min(x) 极值 which.max(x)  which.min(x) 极值下标 range(x) 返回极值 length(x) x的长度 mean(x) 均值 median(x) 中位数 quantile(x) x的五个分位数

3.2 高级函数

函数 作用 round(x,n) 四舍五入,小数点后第n位 sort(x)  order(x) 排序 scale(x) 中心化和标准化数据 unique(x) 对重复元素只取一个 na.omit(x) 忽略有缺失值的数值 na.fail(x) 若包含缺失值返回错误信息 table(x) x中相同的数据个数 table(x,y) x,y列联表 skewness(x) 偏度 kurtosis(x) 峰度

 

3.3 数据整理

  • paste函数进行字符向量连接
  • cbind() rbind()进行合并
  • merge()函数 按照要求进行合并

3.4 一些其它函数

3.4.1  转换函数及排序函数

  • transform()函数进行转换

  • transform(x,a=-a)

3.4.2 排序函数

  • order sort rank 三个函数
  • order返回索引排序,sort返回真实排序,rank返回秩(该值排第几位)

3.4.3选定特定行或子集

  • subset()函数,subset(x,逻辑表达式,select……)
  • subset(airquality,temp>80,select=c(Ozone,Temp))
  • sqldf()函数[有很多搞头,不再赘述]
  • a1<-sqldf("select *from mtcars")

 

标签:01,函数,矩阵,入门篇,2.3,数据,向量,语言
来源: https://blog.csdn.net/qq_41520353/article/details/113631909

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有