R语言傻瓜教程——1基础
- 格式:docx
- 大小:1.38 MB
- 文档页数:15
R语言傻瓜教程1基础R语言是一个强大的统计分析工具,也是数据科学领域使用最广泛的编程语言之一、本教程将为您提供R语言的基础知识和操作技巧,适合初学者快速入门。
1. 安装R和RStudio2.R语言基本语法R语言的基本语法与其他编程语言类似,包括赋值、运算符、条件语句和循环等基本操作。
下面是一些常用的语法示例:-赋值操作:使用符号“<-”或“=”进行赋值,例如x<-5或x=5-运算符:包括加法“+”,减法“-”,乘法“*”,除法“/”,幂运算“^”,取余运算“%%”等。
- 条件语句:使用if-else语句进行条件判断,例如if (x > 5) {print("大于5")} else {print("小于等于5")}。
- 循环:使用for循环或while循环进行重复操作,例如for (i in 1:5) {print(i)}。
3.基本数据类型R语言中有多种数据类型,包括数值型、字符型、逻辑型、向量、矩阵、数据框等。
下面是一些常见的数据类型及其操作:-数值型:表示数值数据,可以进行各种数学运算,例如x<-5- 字符型:表示字符串,使用单引号或双引号括起来,例如x <- "Hello World"。
-逻辑型:表示真假值,只有TRUE和FALSE两个取值,用于逻辑判断,例如x<-TRUE。
-向量:表示一维数组,可以包含多个元素,使用c(函数创建,例如x<-c(1,2,3,4,5)。
- 矩阵:表示二维数组,可以进行矩阵运算,例如x <- matrix(1:9, nrow = 3, ncol = 3)。
- 数据框:表示表格型数据,类似于Excel的表格,可以进行数据处理和分析,例如x <- data.frame(name = c("Alice", "Bob", "Charlie"), age = c(20, 25, 30))。
R语言入门教程R语言是一种功能强大的统计计算和图形化编程语言,广泛应用于数据科学、统计分析、机器学习等领域。
本教程旨在帮助初学者快速入门R语言,并提供基础知识和实际应用示例。
第一章:R语言简介1.1 R语言的起源和发展1.2 R语言的特点和优势1.3 R语言的应用领域和前景第二章:R语言的安装与环境配置2.1 下载和安装R语言2.2 R语言的集成开发环境(RStudio)配置2.3 R语言的包管理器和常用包的安装第三章:基本语法和数据结构3.1 R语言的基本数据类型3.2 变量和赋值操作3.3 基本数学运算和逻辑运算3.4 控制流程语句(if-else, for, while等)3.5 R语言的数据结构:向量、矩阵、数据框和列表第四章:数据导入与导出4.1 从文本文件导入数据4.2 从Excel文件导入数据4.3 从数据库导入数据4.4 将数据输出为文本、Excel或数据库文件第五章:数据处理与清洗5.1 缺失值的处理5.2 异常值的检测和处理5.3 数据转换和重塑5.4 数据合并和拆分第六章:数据可视化6.1 基本图形绘制函数6.2 高级图形包(ggplot2)的使用6.3 图形参数调整和自定义第七章:统计分析和建模7.1 常用统计分析方法的实现7.2 聚类分析和主成分分析7.3 线性回归和逻辑回归模型7.4 机器学习算法(如随机森林、支持向量机)的应用第八章:R语言编程高级技巧8.1 函数的定义和调用8.2 自定义包的创建和使用8.3 面向对象编程(OOP)的实现8.4 并行计算和代码优化技巧第九章:实际案例分析9.1 数据挖掘和预测建模9.2 金融风险管理分析9.3 生物信息学数据处理和分析9.4 社交网络分析和可视化第十章:进阶学习资源推荐10.1 R语言官方文档和在线教程10.2 统计学和数据科学相关书籍推荐10.3 开源R语言项目和社区资源通过本教程的学习,读者将能够掌握R语言的基本语法和数据结构,能够进行数据的导入、处理、可视化和统计分析,在实际应用中能够解决问题和开展研究。
R编程笔记一、R数据结构在R中,我们一直都在与对象(object)打交道。
1.存储类型(mode)实数型(real):整数(integer)、单精度(single)、双精度(double)虚数型(complex):如9 + 11i字符型(character, string):如"hello"(单双引号都行)逻辑型(logical):TRUE, FALSE (简写T, F)函数(function)表达式(expression)2. 结构化数据向量(vector):一列数值或字符矩阵(matrix):m行×n列(各列之间类型都相同)数据框(data frame):类似矩阵,但每一列的数据类型可以不同数组(array):多维度(不是多变量)列表(list):有诸多成员杂合在一起,这些成员可以是任意类型,甚至是list本身(及其灵活的数据类型)因子(factor):分类变量时间序列(ts):时间序列数据使用变量的时候要特别注意,R对大小写敏感!3.产生数据3.1 简单的规则序列> 1:10 # 井号是R的注释符号[1] 1 2 3 4 5 6 7 8 9 10> 10:1[1] 10 9 8 7 6 5 4 3 2 1> seq(1, 10, 0.5) # 等差数列[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5[11] 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0>rep(2, 5) # 重复相同的对象[1] 2 2 2 2 2> rep(1:3, times = 3) # 观察与下例的不同[1] 1 2 3 1 2 3 1 2 3> rep(1:3, each = 3)[1] 1 1 1 2 2 2 3 3 3> rep(1:3, 1:3)[1] 1 2 2 3 3 33.2产生结构化数据向量很容易用函数c()产生:> x = c(9, 1, 1)> x[1] 9 1 1> (x = c('Xie', 'Yi', 'Hui')) # 为什么用括号☺??????[1] "Xie" "Yi" "Hui"矩阵用matrix()产生:> matrix(1:10, 2) # 注意:默认按列排列[,1] [,2] [,3] [,4] [,5][1,] 1 3 5 7 9> matrix(1:10, nrow = 2, ncol = 5, byrow = T)[,1] [,2] [,3] [,4] [,5][1,] 1 2 3 4 5[2,] 6 7 8 9 10数据框用data.frame()产生> x = data.frame(1:5, 4:8) # 把若干个向量合成数据框> xX1.5 X4.81 142 2 53 3 64 4 75 5 8> x = cbind(x, c('A', 'B', 'C', 'D', 'E')) # 绑上一列字符(按列组合,rbind为按行组合)> xX1.5 X4.8 c("A", "B", "C", "D", "E")1 14 A2 2 5 B3 3 6 C4 4 7 D5 5 8 E>dimnames(x) # 看一下x的行列名[[1]][1] "1" "2" "3" "4" "5"[[2]][1] "X1.5"[2] "X4.8"[3] "c(\"A\", \"B\", \"C\", \"D\", \"E\")"> colnames(x) # 只看列名[1] "X1.5"[2] "X4.8"[3] "c(\"A\", \"B\", \"C\", \"D\", \"E\")"> colnames(x) = c('X1', 'X2', 'X3') # 改列名> x # 这样看起来就舒服多了X1 X2 X31 1 4 A2 2 5 B3 3 6 C4 4 7 D5 5 8 E因子用factor()产生列表用list()产生时间序列用ts()产生3.3外部读入数据剪贴板(clipboard),或者SQL、Access数据库(RODBC包)等例:D:\x.txt文件"V1" "V2" "V3" "V4" "V5"1 1 5 9 13 17> x = read.table('d:\\x.txt', header = T)> xV1 V2 V3 V4 V51 1 5 9 13 172 2 6 1014 184.运算4.1算术运算:+, -, *, /, %%(余数), %/%(整数商), ^(乘方)> 5%%2[1] 1> 5%/%2[1] 24.2逻辑运算:&, |, !(且、或、非);>, <, >=, <=, =="<-"是赋值符号,x<-9与x=9等价!小于负数加上空格x< -9或者x<(-9)> 1 == T[1] TRUE> 2 == T[1] FALSE> 0 == F[1] TRUE> 1:10 > 5[1] FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE5. 下标的使用向量、因子、时间序列x[i];矩阵、数据框x[i, j] x[i, ] x[, j];数组就是根据维度多打几个逗号而已x[i, j, k, …];列表要用双重中括号x[[i]]。
r语言菜鸟教程r语言是一种用于数据分析和统计建模的编程语言。
它提供了许多强大的功能和包,使得数据处理变得更加简单和高效。
R语言的安装非常简单,只需从官方网站下载并按照指示进行安装即可。
安装完成后,就可以开始编写R代码了。
R语言中最基本的数据结构是向量(Vector)。
向量可以存储数值、字符、逻辑值等不同类型的数据。
我们可以使用c()函数来创建向量,如下所示:```num_vector <- c(1, 2, 3, 4, 5) # 创建数值型向量char_vector <- c("a", "b", "c", "d", "e") # 创建字符型向量logical_vector <- c(TRUE, FALSE, TRUE, TRUE, FALSE) # 创建逻辑型向量```除了向量,R语言还有其他的数据结构,如矩阵(Matrix)、数组(Array)、数据框(Data Frame)等。
这些数据结构可以用于存储和处理更复杂的数据。
R语言提供了丰富的函数和运算符来进行数据操作和统计分析。
例如,我们可以使用sum()函数计算向量中所有元素的和,使用mean()函数计算向量的平均值,使用sd()函数计算向量的标准差等。
除了内置的函数,R语言还支持用户自定义函数。
我们可以使用function关键字定义函数,并在需要时调用它们。
例如,下面是一个计算两个数之和的函数的定义和调用:```sum_numbers <- function(a, b) {result <- a + breturn(result)}sum_result <- sum_numbers(5, 3)```R语言的另一个重要特点是它的图形功能。
我们可以使用R语言的图形包(如ggplot2、plotly等)来创建各种类型的图表,如散点图、柱状图、饼图等。
r语言入门教程R语言是一种广泛应用于数据分析和统计建模的编程语言。
它具有丰富的数据处理和可视化功能,是许多数据科学家和统计学家的首选工具之一。
R语言的基本语法与其他编程语言有些不同,但学习起来并不困难。
以下是一些入门级别的R语言基础知识,帮助你开始使用R进行数据分析和可视化。
1. 安装R和RStudio:首先,你需要下载并安装R语言。
然后,建议安装RStudio,它是一个集成开发环境,可以更好地管理和组织你的R代码和数据。
2. 使用RStudio:当你打开RStudio时,你会看到几个窗口,包括代码编辑器和R控制台。
在代码编辑器中编写代码,然后按下Ctrl + Enter键或点击"Run"按钮来执行代码。
结果将显示在R控制台中。
3. 变量赋值和基本操作:在R中,你可以使用"="或"<-"符号将值分配给变量。
例如,x <- 10会将值10分配给变量x。
你可以使用实数、整数、字符等数据类型。
4. 向量和矩阵:R中的向量是一系列具有相同数据类型的元素。
你可以使用c()函数创建向量,例如:my_vector <- c(1, 2, 3)。
矩阵是一个二维数据结构,你可以使用matrix()函数创建矩阵。
5. 数据框(Data Frame):数据框是R中最常用的数据结构之一,类似于Excel表格。
你可以使用data.frame()函数创建数据框。
可以使用read.csv()或read.table()函数从外部文件加载数据框。
6. 数据处理和转换:R提供了许多内置函数用于数据处理和转换,例如:subset()、merge()、aggregate()等。
这些函数可以对数据进行过滤、合并、汇总等操作。
7. 统计分析和建模:R拥有强大的统计分析和建模功能,你可以使用内置函数进行描述性统计、假设检验、回归分析等。
例如,mean()用于计算均值、t.test()用于执行t检验。
向量(vector)1、seq():产生有规律的数列,间距省略时默认值为1。
例1:seq(10, 20, 0.5)例2:seq(0, by = 0.03, length = 15)2、rep():产生有规律的数列,重复第一个变量若干次。
例1:rep(1:3, 1:3)例2:rep(1:3, rep(2, 3))例3:rep(1:3, length = 10)3、向量运算:一般是对应元素之间的运算,所以两个或多个向量运算时,要求它们包含的元素个素相同(或一个是另一个的整数倍)。
例1:a <- 1:3; b <- 4:6; a * b; b^a例2:a <- 1:3; b <- 4:9; a * b; b^a4、获取向量某一个或多个子集,向量前的负号"-"表示去除相应内容。
例1:x <- c(3, 4, 5, 2, 6); x[1:2]; x[-(1:2)]例2:x <- c(3, 4, 5, 2, 6); x[c(1, 2, 4, 1)]; x[-c(1, 2, 4, 1)]例3:xx <- seq(1, by = 3, length = 10); xx[xx > 13]例4:x <- 1:20; y <--9:11; x[y > (1)] #注意最后一个是"NA"5、主要向量运算函数。
例1:xx <- c(2, 6, 10, 8, 4)sum(xx) #和max(xx) #最大值min(xx) #最小值range(xx) #取值范围mean(xx) #平均值var(xx) #方差sort(xx) #从小到大排序rev(xx) #反排列,所以从大到小排序应该是rev(sort(xx))rank(xx) #单元值大小顺序prod(xx) #乘积,所以阶乘是prod(1:n)例2:x <- seq(1, 15, 2)append(x, 20:30, after = 5) #插入数据append(x, 20:30) #参数after缺省默认从向量的最后插入值replace(x, c(2, 4, 6), -1) #替换函数例3:match(c('Ohio', 'Wyoming'), ) #完全匹配函数pmatch(c('Oh', 'Wy'), ) #部分匹配函数[pmatch(c('Oh', 'Wy'), )]例4:yy <--9:10all(yy > 0) #判断所有all(yy > -10)any(yy == 0) #判断部分any(yy > 0)any(yy < -10)矩阵(matrix)矩阵生成函数matrix():matrix(data, nrow = , ncol = , byrow = F),其中,数据data 是必须的,其他都是选择参数,可以不选。
R语⾔基础⼊门1 数据导⼊对初学者来讲,⾯对⼀⽚空⽩的命令⾏窗⼝,第⼀道真正的难关也许就是数据的导⼊。
数据导⼊有很多途径,例如从⽹页抓取、公共数据源获得、⽂本⽂件导⼊。
为了快速⼊门,建议初学者采取R语⾔协同Excel电⼦表格的⽅法。
也就是先⽤较为熟悉的Excel读取和整理你要处理的数据,然后“粘贴”到R中。
例如我们先从这个地址下载iris.csv演⽰数据,在Excel中打开,框选所有的样本然后“复制”。
在R语⾔中输⼊如下命令:data=read.table('clipboard',T)这的⾥read.table是R读取外部数据的常⽤命令,T表⽰第⼀⾏是表头信息,整个数据存在名为data的变量中。
另⼀种更⽅便的导⼊⽅法是利⽤Rstudio的功能,在workspace菜单选择“import dataset”也是⼀样的。
2 Dataframe操作在数据导⼊R语⾔后,会以数据框(dataframe)的形式储存。
dataframe是⼀种R的数据格式,可以将它想象成类似统计表格,每⼀⾏都代表⼀个样本点,⽽每⼀列则代表了样本的不同属性或特征。
初学者需要掌握的基本操作⽅法就是dataframe的编辑、抽取和运算。
尽管建议初学者在Excel中就把数据处理好,但有时候还是需要在R中对数据进⾏编辑,下⾯的命令可以让你有机会修改数据并存⼊到新的变量newdata中:newdata=edit(data)另⼀种情况就是我们可能只关注数据的⼀部分,例如从原数据中抽取第20到30号样本的Sepal.Width变量数据,因为Sepal.Width变量是第2个变量,所以此时键⼊下⾯的命令即可:newdata=data[20:30,2]如果需要抽取所有数据的Sepal.Width变量,那么下⾯两个命令是等价的:newdata=data[,2]newdata=data$Sepal.Width第三种情况是需要对数据进⾏⼀些运算,例如需要将所有样本的Sepal.Width变量都放⼤10倍,我们先将原数据进⾏⼀个复制,再⽤$符号来提取运算对象即可:newdata=datanewdata$Sepal.Width=newdata$Sepal.Width*103 描述统计描述统计是⼀种从⼤量数据中压缩提取信息的⼯具,最常⽤的就是summary命令,运⾏summary(data)得到结果如下:对于数值变量计算了五个分位点和均值,对于分类变量则计算了频数。
第1讲之1ch1初识R语言本章主要对R的基础内容的讲解,让我们尽快熟悉这款流行的数据分析工具。
本章内容涵盖:R的优势、安装流程、扩展包、常用编辑器和工作空间。
1.1 什么是R语言?你现在最常用的统计软件是什么?SAS?MATLAB?还是Eviews?如果你是一个经常和数据分析打交道,需要运用或自己编写各种统计方法的人。
如果还没用上R,那么你已经脱离现在的主流了。
R是由新西兰奥克兰大学的Ross Ihaka与Robert Gentleman一起开发的一个面向对象的编程语言,因两人的名都是以R开头,所以命名为“R”。
R是“GNU S”,一个免费开源、能够自由有效地用于统计计算和绘图的语言和环境,可以在UNIX、Windows和Mac OS系统运行,它提供了广泛的统计分析和绘图技术,包括回归分析、时间序列、分类、聚类等方法。
R的前身是S语言,S语言是贝尔实验室(Bell Laboratories)的Rick Becker、John Chambers和Allan Wilks开发的,提供了一系列统计和图形显示工具,这个语言过去一度是数据分析领域里面的标准语言,但是正在逐步被R语言取代。
R是一套完整的数据处理、计算和制图软件系统,它是一套开源的数据分析解决方案,由一个庞大而活跃的全球性社区维护。
其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输出,可实现分支、循环,用户可自定义功能。
与其说R是一种统计软件,还不如说R是一种统计分析与计算的环境,因为R不仅提供若干统计程序,而且使用者只需指定数据库和若干参数便可进行统计分析。
R的思想是:它可以提供一些集成的统计工具,但更重要的是它提供各种数学计算、统计计算的函数,从而使使用者(用户)能灵活地进行数据分析,甚至创造出符合需要的新的统计计算方法。
随着R功能的不断完善,也提供了如下图所示的各种高级功能。
R语言入门基础教程R语言是一种广泛使用的数据分析和统计编程语言,它提供了丰富的函数库和强大的数据处理能力。
本教程将向您介绍R语言的基础知识,包括变量和数据类型、向量和矩阵、条件控制和循环、函数和图形绘制等内容。
1.变量和数据类型在R语言中,可以用来存储数据的基本单元是变量。
变量可以存储不同类型的数据,如整数、浮点数、字符等。
例如,可以使用以下语句将一个整数赋值给变量x:x<-10可以使用print(函数显示变量的值:print(x)R语言支持多种数据类型,常见的有整数(integer)、浮点数(numeric)、字符(character)、逻辑(logical)等。
2.向量和矩阵向量是一种用于存储一维数据序列的数据结构。
可以使用c(函数创建向量,例:vector <- c(1, 2, 3, 4, 5)也可以使用冒号运算符创建数值序列:vector <- 1:5矩阵是一种用于存储二维数据的数据结构。
可以使用matrix(函数创建矩阵,例:matrix <- matrix(c(1, 2, 3, 4, 5, 6), nrow=2, ncol=3)可以使用dim(函数获取矩阵的维度:dim(matrix)3.条件控制和循环R语言提供了if-else语句和for循环等条件控制和循环结构。
如下面的例子所示,该代码将根据条件判断输出不同的结果:x<-10if (x > 0)print("x is positive")} elseprint("x is negative")可以使用for循环来遍历集合或执行重复操作。
如下面的例子所示,该代码将打印出1到5的数字:for (i in 1:5)print(i)4.函数和图形绘制R语言中函数是一组用于执行特定任务的代码块,它可以接受输入参数并返回输出结果。
可以使用function(函数定义一个函数。
R语言傻瓜教程——1基础0. 约定阴影为代码或R的输出内容。
1. 安装1.1 安装R和RStudio(1)从/cran/下载R语言相应版本,双击安装;(2)从https:///products/rstudio/download/下载RStudio安装。
1.2 说明(1)R语言本身仅提供了命令行工具,一般用户可能会觉得使用不便,所以用RStudio 作为工具来使用R语言;(2)RStudio仅为R的IDE(集成开发环境),依赖于R;(2)在苹果系统中,启动RStudio时要求安装command line tools,在弹出窗口中选择安装即可);(3)R和RStudio都是免费开放源代码的,所以尽可能在官方网站上下载(R在全球有很多镜像,等同于官网,上述下载地址即其在北京交通大学的镜像)。
2. 运行2.1 运行R语言如果不使用RStudio,双击R语言图标(如下图)即可启动。
启动后如下图所示,在提示符处输入R语言命令。
1.2 RStudio启动RStudio相对于R语言自身提供的命令行工具,使用要便捷得多。
RStudio图标如下图。
启动后RStudio的环境如下图所示。
左侧为同启动R时一样的命行窗口;右上侧为“环境”和“历史”。
环境是指当前R语言的运行环境,也称为工作空间,在使用过程中所创建的变量、数据都在这里列出,而用户在使用过程中输入的命令都在“历史”子窗口中列出。
右侧包括“文件”、“绘图”、“扩展包”、“帮助”、“视图”等子窗口。
相关功能在后续使用过程中再详细说明。
除此之外RStudio还有很多默认没有显示的子窗口,通过顶部菜单view中的选项可以选择显示它们。
1.3 退出在退出时,R和RStudio默认都会弹出窗口询问是否保存工作空间,如果选择保存,则R或RStudio会保存全部的变量、数据等,下次打开R或RStudio时还可以继续使用而不用再次输入。
如下分别为R和RStudio退出时的弹出窗口。
3. R语言运算符号运算符号:+(加)、-(减)、*(乘)、/(除)、^(乘方)、%/%整除、%%求余;逻辑判断符号:>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、!=(不等)、==(相等)逻辑运算符号:&(逻辑与)、|(逻辑或,Enter键上边的竖线)赋值符号:<-或->示例:在命令窗口输入x<-2此时,变量a的值就为2。
2->a的功能与a<-2一样。
赋值符号也可以用=替代,但是在某些情况下会出错,所以不建议在R语言中使用。
4. R语言数据类型4.1 基本数据类型R语言中基本数据类型是指仅包含一个数值的数据类型,主要包括数值型、字符型、逻辑型、空值等。
(1)数值型如1,3.14等能够进行数学运算的数字。
(2)字符型即文本数据,需放在双引号或单引号之间,如"a”、'abc'、"张三"。
特别提示,这里的单引号和双引号都是英文输入法下的双引号和单引号,中文的符号只能算是普通文本。
在各种编程语言中,中文标点都只能作为同普通文本一样的字符使用,代码中不应出现,如下代码会出现错误:x<-“hello R”y<-‘hello R’下面是正确代码(注意引号):x<-"hello R"y<- 'hello R'用中文标点符号替代英文符号是初学编程的人最容易出现的错误,需特别注意以免打击学习积极性。
(3)逻辑型逻辑型数据只有两个取值TRUE和FALSE,TRUE和FALSE必须是大写的。
TRUE和FALSE 可以分别简写为T和F,也必须大写。
如:x<-TRUEy<-FALSE(4)空值在统计数据中常常会出现一些缺失的值,R语言中用一个特殊的值NA(大写)来表示。
NA与其他数据的运算结果都是NA。
如:x<-NA有时候,不能确定一个变量是否是空值,R语言提供了一个函数is.na()用来判断是否空值,如:x<-NAis.na(x)结果为TRUE。
4.2 数据对象R语言中数据对象是指包含一组数值的数据类型,主要包括向量、矩阵、数组、列表、数据框。
(1)向量向量是由相同基本类型数值组成的序列,可以认为其等同于数学中的向量,在R语言中向量的使用相当频繁。
在R语言中使用函数c()来创建一个向量,如:x<-c(1,2,3,4,5)x输出为:[1] 1 2 3 4 5其中[1]为输出内容的行号。
a. 向量运算向量的加减乘除运算是对向量元素的加减乘除运算。
输入x<c(1,2,3,4)x+1x输出为[1] 2 3 4 5输入x<-c(1,2,3,4)y<-c(1,1,1,1)x+y输出为[1] 2 3 4 5。
b. 快速生成有序向量(函数seq和rep)在需要大量有序数值向量时,为了避免手工输入的麻烦,R语言提供了快速生成的方法。
如:输入x输出为[1] 1 2 3 4 5 6 7 8 9 10输入x<-10:1x输出为[1] 10 9 8 7 6 5 4 3 2 1上述利用“:”只能生成步长为1的向量,若要生成任意步长的向量需要使用函数seq(),它有三个参数,(最小值,最大值,步长)。
如:输入x<-seq(1,20,2)x输出为[1] 1 3 5 7 9 11 13 15 17 19输入x<-seq(1,5,0.5)x输出为[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0别外一个函数rep()可以通过重复一个基本数值或数值对象多次来创建一个较长的向量,它有二个参数,(数据,重复次数)。
如:输入x<-rep(1,10)x输出[1] 1 1 1 1 1 1 1 1 1 1输入x<-rep(c(1,2,3),3)x输出[1] 1 2 3 1 2 3 1 2 3c. 向量索引向量索引也称为向量中数值元素的下标,用来引用向量中的单个数值,用方括号[]表示,如:输入x<-c(1,2,3,4,5)x[1]输出[1] 1向量索引除了引用单个值之外,还起过滤的作用,如:输入x<-c(1,2,3,4,5)输出x中大于3的数值[1] 4 5d.help(replace),在RStudio右下的help窗口中即显示repalce函数的详细说明。
(2)矩阵矩阵运算虽然是统计理论的重要工具,但与基本统计方法的应用关系不大,因此没有矩阵运算基础可以跳过本部分。
R语言中的矩阵基本等同与数学中的矩阵。
R语言中使用matrix函数创建一个矩阵。
matrix函数有三个参数,(数值向量,行数,列数)。
如:输入x<-matrix(c(1,2,3,4),2,2)x输出两行两列的矩阵及其行号和列号[,1] [,2][1,] 1 3[2,] 2 4matrix还有第四个参数byrow,即数据向量转为矩阵时数据的排列顺序,其默认值为FALSE,如:输入x<-matrix(c(1,2,3,4),2,2,TRUE)输出[,1] [,2][1,] 1 2[2,] 3 4a. 矩阵运算矩阵的+-*/运算是对矩阵元素的运算,如:输入x<-matrix(c(1,2,3,4),2,2)x*2输出[,1] [,2][1,] 2 6[2,] 4 8输入x<-matrix(c(1,2,3,4),2,2)y<-matrix(c(5,6,7,8),2,2)x+y输出[,1] [,2][1,] 6 10[2,] 8 12矩阵运乘法运算符号为%*%,如:输入x<-matrix(c(1,2,3,4),2,2)y<-matrix(c(5,6,7,8),2,2)x%*%y输出[,1] [,2][1,] 23 31[2,] 34 46b. 矩阵下标矩阵下标类似向量的下标。
所不同的是,向量是两维的,下标包括两个数字,表示相应元素所在的行和列,如:输入x<-matrix(c(1,2,3,4),2,2)x[1,2]输出第一行第二列元素[1] 3c.(3)数组R语言中,数组是向量和矩阵的推广,向量和矩阵是数组的特殊形式。
向量是一维数组,而矩阵是二维数组。
利用array()函数创建数组,其参数为(数据向量,维数向量)如:输入x<-array(c(1,2,3,4),c(2,2))x上述语句输入数据为1,2,3,4,生成两行两列的数组,输出为[,1] [,2][1,] 1 3[2,] 2 4所以,array(c(1,2,3,4),c(2,2)等价于matrix(c(1,2,3,4),2,2)。
利用array函数可以生成更高维的数组。
注意:向量、矩阵和数组中也可以包含其他的数据类型,如字符型、逻辑型、空值。
(4)列表向量、矩阵和数组要求元素必须为同一基本数据类型。
如果一组数据需要包含多种类型的数据,则可以使用列表,如:输入x<-list(a=1,b=2,c=3)输出为$a[1] 1$b[1] 2$c[1] 3与向量、矩阵和数组相比,列表没有下标号,但是每个数据都有一个名字。
数组使用下标来引用元素,而列表用名字来引用元素,如:输入x<-list(a=1,b=2,c=3)x$a输出[1] 1列表与向量、矩阵和数组的另一个重要区别是,向量、矩阵和数组的元素只能是一个简单基本数据,而列表的元素还可以是其他的其他各种数据对象,比如向量、矩阵、数组或者另一个列表,如:输入x<-list(a=1,b=c(1,2,3),c="ab",d=c("a","c","c"),e=matrix(c(1,2,3,4),2,2),f=list(a=1,b=2) )x这是一个复杂的列表,a为数字,b为向量,c为字符,d为字符向量,e为矩阵,而f 为另一个列表。
输出为$a[1] 1$b[1] 1 2 3$c[1] "a"$d[1] "a" "c" "c"$e[,1] [,2][1,] 1 3[2,] 2 4$f$f$a[1] 1$f$b[1] 2列表的名字可以连续引用,输入x$f$a输出为[1] 1(5)数据框数据框是另一种可以有不同基本数据类型元素的数据对象。
简单来说,一个数据框包含多个向量,向量的数据类型可以不一样。
因此,数据框是介于数组和列表之间的一种数据对象,与矩阵相比它可有不同数据类型,与列表相比它只能包含向量,而且这些向量的长度通常是相等的。
a. 创建数据框R语言使用data.frame()来创建数据框,如:输入x<-c("张三","李四","王五","赵六")y<-c("男","女","女","男")z<-c(89,90,78,67)data.frame(x,y,z)输出为x y z1 张三男892 李四女903 王五女784 赵六男67其中,每行行首的数字是该行名字,可以使用s()来重新为每行命名。