向量和赋值
R 在已经命名的数据结构上起作用。其中,最简单的结构就是由一串有序数值构成的数值向量。
x <- c(1,2,3,4,5,6)
这是一个用函数c()完成的赋值语句。(<-是赋值符号)
注:等同于assign(“x”,c(1,2,3,4,5,6))
向量运算
基本的算术运算符就是常用的+,-,*,/和做幂运算的^。另外还包括常用的数学函数,如log,exp,sin,cos,tan,sqrt等等。
Min(x)和max(x):分别给出向量x最小值和最大值的函数;
Range(x)函数:是一个得到长度为2的向量,即c(min(x),max(x));
Length(x)函数:给出向量x的元素个数;
Sum(x)函数:计算向量x中元素的累加和;
Prod(x)函数:得到x向量中元素的乘积;
Mean(x)函数:计算均值,等价于sum(x)/length(x);
Var(x)函数:计算样本方差,等价于sum((x-maen(z))^2)/(length(x)-1) ;(如果var()的参数是一个n*p的矩阵,则将该矩阵行与行之间看作是相互独立的p-变量的样本向量,从而得到一个p*p的样本协方差矩阵);
Sort(x)函数:返回一个和x长度一样但元素以升序排列的向量;(order()和sort.list()排序功能更强大)
生成正则序列
R有一些列产生常用数列的工具。
常用的如,1:30等价于向量c(1,2,……,29,30);
注:在R表达式中,冒号优先级别最高。
函数seq() 是数列生成中最为常用的工具。它有五个参数,仅部分参数需要每次
都设定。起始的两个参数,表示一个数列的首尾。如果只是给定这两个值,则和冒号
运算符的效果完全一样了。如seq(2,10) 等价于2:10。
seq() 和其他许多R 函数的参数一样都可以用参数命名方式给定。在这情况下,
参数的顺序可以是任意的。这样,前两个参数就可以用from=value 和to=value 方式
设定;因此seq(1,30),seq(from=1, to=30),seq(to=30, from=1) 同1:30 完全一
样。seq() 随后的两个参数是by=value 和length=value;它们分别表示这个数列的步
长和长度。如果二者没有设定,默认值就是by=1(步长为1)。
例如:seq(-5,5,by=.2) -> s3,等价于将向量c(-5.0,-4.8,-4.6,……,4.6,4.8,5.0)赋给s3;类似的是,s4 <- seq(length=51, from=-5, by=.2),将在s4中产生一样的向量。
第五个参数是along=vector。使用这个参数时,它必须是唯一的4,它可以创建数
列1, 2, ..., length(vector),或者是空数列(在向量vector为空时)。
Rep()函数:可以用各种复杂的方式重复一个对象。最简单的方式:s5 <- rep(x, times=5),这种方式先把x 的完整拷贝五次,保持x 的数列顺序,逐一放在s5 中。另一种有用的
方式是s6 <- rep(x, each=5),这种方式把x 中的每个元素都重复五次,然后将重复五次的元素逐一放入。
逻辑向量
逻辑向量元素可以被赋予的值有TURE,FALSE,NA(“不可得到”)。前两个值可以分别简写为T 和F。
注意T 和F 仅仅默认设置为TRUE 和FALSE 的等价变量,不是系统保留字(reserved
word),因此可以被用户重写。正因为这样,你应该尽量使用属于系统保留字的TRUE和FALSE。
R 的逻辑运算符是<,<=,>,>=,以及判断是否严格相等的== 和判断不等的!=。此外,如果c1 和c2 是逻辑不等式,那么c1 & c2 是它们的交集运算(“与”),c1 | c2 是并集运算(“或”),!c1 是c1 的非运算。
注:在常规的算术运算中采用逻辑变量,它们会被强制转换成数值变量,FALSE 变成0 ,TRUE 变成1。
缺损值
在某些情况下,向量的元素可能有残缺。
当一个元素或者值在统计的时候“不可得到”(not available)或者“值丢失”(missing value),相关位置可能会被保留并且赋予一个特定的值NA。任何含有NA 数据的运算结果都将是NA。
函数is.na(x) 返回一个和x同等长度的向量。它的某个元素值为TRUE 当且仅当x中对应元素是NA。
数值计算会产生第二种“缺损”值,也称为非数值(Not a Number)NaN。
字符向量
函数paste() 可以有任意多的参数,并且把它们一个接一个连成字符串。
例如,labs <- paste(c("X","Y"), 1:10, sep="")
使得labs 变成一个字符向量。
c("X1", "Y2", "X3", "Y4", "X5", "Y6", "X7", "Y8", "X9", "Y10")
索引向量
逻辑向量:这种情况下,索引向量必须和被挑选元素的向量长度一致。向量中对应索引向量元素为TRUE的元素将会被选中,而那些对应FALSE的元素则被忽略,例如,y<-x[!is.na(x)]。这将创建(或重建)一个含x 中非缺省且次序不变的元素的对象y。注意,如果x含有缺省值,y 在长度上将会比x短。
(x+1)[(!is.na(x)) & x>0] -> z
将创建一个对象z 并且把向量x+1 的值赋给它,其中要求x 中对应的元素既非缺省又是正值。
正整数向量:如x[6]表示x 的第六个元素;
x[1:10],选择x的前10个元素(我们假定length(x)长度不小于10);
c("x","y")[rep(c(1,2,2,1), times=4)],会产生一个长度为16,由"x", "y", "y", "x" 重复4次而构成的向量。
负数向量:这种索引向量指定被排除的元素而不是包括进来。因此,y <- x[1(1:5)] 将x除开始5个元素外的其他元素都赋给y。
字符串向量:这可能仅仅用于一个对象可以用name属性来识别它的元素。这种情况下,名字向量的子向量可以像上面第二条提到的正整数标签一样使用。
> fruit <- c(5, 10, 1, 20)
> names(fruit) <- c("orange", "banana", "apple", "peach")
> lunch <- fruit[c("apple","orange")]
相关推荐
3. **完整的数据分析工具**:无论是基本的统计测试还是高级的机器学习算法,R都有一系列内置或通过扩展包提供的函数来进行数据探索和分析。 4. **强大的图形展示功能**:R不仅支持标准的图表绘制,还支持高级的可视...
### R语言简介——数据分析与绘图的编程环境 #### R语言概述 R是一种广泛应用于统计计算、图形展示和数据科学领域的开源编程语言。它不仅具备强大的数据处理能力,还能够进行复杂的统计分析,并且能够绘制高质量的...
总的来说,这份笔记是一个全面的Python数据分析学习资源,不仅覆盖了Python语言的基础,还包括了数据处理、机器学习、深度学习和数据库管理等多个方面,对于希望在数据分析领域深入学习的初学者来说,是一份宝贵的...
R语言是一种用于统计分析、图形表示和报告的专业编程语言。它在科研领域特别受到青睐,尤其在统计学、生态学、生物学等学科中应用...因其免费、开源、社区活跃,R语言成为了科研人员进行数据分析不可或缺的工具之一。
《R语言编程艺术》是一本非常实用的R语言编程书籍,适合R语言开发者和数据分析师阅读。通过阅读这本书,读者可以系统地学习R语言的编程结构、语法和高级内容,提高自己的编程能力和数据分析能力。
《用商业案例学R语言数据挖掘》这本书是针对商业智能时代数据分析需求而编写的,旨在帮助各类从业者掌握R语言在数据分析和数据挖掘中的应用。全书分为18章,覆盖了R语言的基础知识、统计学习方法和数据挖掘技术,...
在学习过程中,`03.13-python-一般函数.ipynb`、`03.14-python-向量化函数.ipynb`、`03.15-python-二元运算.ipynb`和`03.16-python-ufunc对象.ipynb`这些笔记将提供详细的示例和解释,帮助你深入掌握这些知识点。
矩阵向量和几何相关知识点总结 矩阵的基本概念 ...矩阵向量和几何相关知识点是机器学习和数据分析中非常重要的一部分。理解矩阵向量和几何相关知识点可以帮助我们更好地理解和应用机器学习和数据分析技术。
在数据分析部分,pandas库是Python中的明星工具。它提供了DataFrame对象,一个二维表格型数据结构,可以处理各种数据集。DataFrame支持列式操作、缺失数据处理、聚合和分组运算、时间序列分析等。通过matplotlib和...
"R语言学习笔记" 以下是 R 语言学习过程中的各种笔记,共 22 页,涵盖了许多小技巧和函数的用法。 数据挖掘与数据分析的主要区别 数据分析就是为了处理原有计算方法、统计方法,着重点就是数据、算法、统计、数值...
在数据分析领域,Python语言已经成为了一种非常流行和强大的工具,尤其对于初学者而言,它具有易学、丰富的库支持和广泛的应用场景。本笔记主要涵盖了如何利用Python进行数据的获取、清洗、探索、建模以及可视化等...
本学习笔记旨在帮助初学者快速掌握Matlab的基本操作和常用命令,从而能够高效地利用这一工具进行各种计算任务。 一、Matlab界面与环境 在启动Matlab后,用户会看到工作区(workspace)、命令窗口(Command Window)...
Matlab 是一种高性能的开发语言,广泛应用于科学计算、数据分析、机器学习等领域。本文档将从基本操作和矩阵输入入手,详细介绍 Matlab 的变量声明、变量类型、数学运算符、内置数学函数等知识点。 一、变量声明 ...
### SCILAB学习笔记知识点概览 #### 一、SCILAB概述 - **SCILAB**是一款开源的科学计算软件,主要功能包括**数值计算**和**计算结果的可视化**。 - 数据类型丰富,支持各种矩阵运算以及复杂对象如多项式传递函数...
R编程语言是一种广泛用于数据分析、统计计算和图形绘制的开源语言。它的语法简洁且功能强大,特别适合处理和分析数据。以下是一些关于R语言的基本概念和操作: 1. **数据输入**:在R中,可以使用`c()`函数创建向量...
- Matplotlib和Seaborn:数据可视化工具,用于绘制各种图表,帮助理解和分析数据。 - TensorFlow和PyTorch:深度学习框架,理解张量运算,构建神经网络模型。 4. **实践应用**: - 数据集选择:学习如何选取合适...
它的广泛应用场景涵盖Web开发、科学计算、自动化运维、数据分析、人工智能等多个领域。要开始Python编程,首先需要搭建Python环境,这通常包括安装Python解释器,如Python 3.x版本,并设置好环境变量。此外,选择一...
罚参数的引入允许在优化过程中对信号的稀疏性进行权衡,这是一种常见的技术手段,用于在信号处理和数据分析中寻找稀疏解。 在技术细节上,软阈值函数的推导过程中,利用了范数的性质。特别是,通过将N维优化问题...