R语言学习笔记(一)——数据结构与基本运算
来源:互联网 发布:哪有培训seo 编辑:程序博客网 时间:2024/05/17 23:33
数值型(numeric),实数。实际上是整数型与双精度,默认是双精度。
字符型(character),“”或‘’之间的字符串。
逻辑型(logical),只有T(TRUE)或F(FALSE)。
复数型(complex),a+bi形式的复数。
原始型(raw),二进制形式保存。
默认值(missing value),当一个元素或值在统计时“不可得到”(not available)或“缺失值”(missing value)时,相关位置保留并赋予一个特定的NA值,任何NA的运算结果都是NA。用is.na()函数检测是否有NA值的存在,返回结果为TRUE或FALSE。
character, complex,double,integer,logical,NA,numeric等类型辨别函数均为is.__(),转换函数均为as.__()。
二·数据对象
R语言中的数据对象有6中:向量(vector)、矩阵(matrix)、数组(array)、因子(factor)、列表(list)和数据框(data frame)。
注意:在浮点运算中可能出现精度问题。
1.向量(vector)
向量是由相同基本元素构成的序列。用c()函数完成赋值。“<-"是赋值符号。
paste()函数可以将自变量对应元素连成字符串,长度不同时,较短的向量会背重复使用(对所有运算均适用)。
也可以用assign()函数对向量赋值。
向量的运算是对每个分量做运算。四则运算(+,-,*,/),其他运算,乘方:^ ,整除:%/%,取余数:%%
用“:”产生正则序列,如1:5表示1,2,3,4,5。“:”运算级别最高。
也可以用seq()函数产生有规律的序列,rep()产生重复各种对象。
向量运算常见函数
函数
用途
length()
求向量长度
mode()
返回数据类型
min()
最小值
max()
最大值
range()
向量范围
which.min(),which.max()
何处取最值
mean()
均值
median()
中位数
var()
方差
sd()
标准差
sort()
排序
rev()
反排序
rank()
求秩(数据排序中的相对位置)
prod()
求向量连乘积
append()
向量中添加元素
sum()
求和
replace()
替换
match()
匹配
pmatch()
部分匹配
all()
判断所有
any()
判断部分
> x <- c(1,3,5)> x[2] #返回x向量的第2个元素> (c(1,2,3)+4)[2] #先进行向量运算,再返回该向量的第2个元素> x[c(1,3)] <- c(9,11) #将9和11赋值给x向量的第1和第3元素把i换成逻辑语句也可以对向量进行逻辑运算。例如:
> x <- c(1,3,5)> x < 4 #返回逻辑结果,及x向量的元素是否小于4> x[x<4] #返回x向量里小于4的元素> z <- c(-1,1:3,NA)> z[is.na(z)] <- 0 #将0赋值给z向量里的NA值> z <- c(-1,1:3,NA)> y <- z[!is.na(z)] #将z里的非缺失值赋值给y这种方法可以用在对分段函数的定义上。
> x<-c(-3,-2,-1,0,5,7)> y<- numeric(length(x)) #生成与x向量长度相同的数值型向量> y[x<0] <- 1-x[x<0] #求出x中小于0的元素对应位置,y对应位置用 1-x[x<0] 替代> y[>=0] <- 1+x[x>=0] #求出x中大于等于0的元素对应位置,y对应位置用 1-x[x<0] 替代如果下标取值是负整数,则表示删除相应位置的元素。
> x <- 1:10> x[-(1:5)] #删除x向量中的第1到第5个元素
矩阵函数
作用
t()
转置
%*%
矩阵乘法
*
对应元素相乘
diag()
取对角元素;
对向量应用则会产生对应的对角矩阵
只输入正整数生成对应维数的单位矩阵
solve()
求逆
eigen()
求特征值和特征向量
chol()
正定矩阵Choleskey分解为上三角矩阵
svd()
A矩阵的奇异值分解(A=UDVT)
qr()
QR分解(A=QR),qr.R(qr(A)),qr.Q(qr(A))
kronecker(A,B)
Kronecker积
dim()
维数
nrow(),ncol()
行数,列数
rowSums(),colSums()
行列和
rowMeans(),colMeans()
行列均值
lower.tri(),upper.tri()
上三角、下三角矩阵(返回逻辑值)
det()
计算行列式的值
apply()
可进行各种计算
rbind(),cbind()
行、列合并
3.数组(array)
向量(一维)和矩阵(二维)的推广(多维),用array()生成。
dim()可将向量转换成数组或矩阵。
运算法则与矩阵类似。
4.因子(vector)
因子变量代表不同可能的水平。用vector()生成。
levels()提取因子水平,ordered()产生因子排序。
5.列表(list)
元素、矩阵、数组必须是同一类型的数据,如数据对象有不同类型,可采用列表list()。
如LST <- list(...),则LST[[2]]访问列表第2个成分的值,LST[[2]][1:3]访问列表第2成分前3个元素。而LST[1]是选择列表的第1个分量,包含分量名。
也可用$符号返回对应成分。
length(),mode(),names()分别返回列表长度,数据类型,列表成分名。
6.数据框(data.frame)
分量必须是向量、因子、数值矩阵、列表或其他数据框;
数值、逻辑、因子保持原有格式,字符向量会被强制转换为因子;
以变量形式出现的向量结构必须保持长度一致,矩阵结构必须有一样的行数。
row.names(),col.names()变更行列名。
数据框的引用有多种方法,如a[ ,"score"], a[ ,3], a$score, a[["score"]],a[[3]]。
attach()数据框的变量“链接”到内存中,可以直接用数据框中的变量名访问。用detach()取消连接。
- R语言学习笔记(一)——数据结构与基本运算
- R语言学习笔记(一)数据结构
- R软件学习笔记-3(基本函数与运算)
- 机器学习与R语言(一)——Ubuntu下R语言的安装以及R语言的基本语法【待续】
- 应用统计学与R语言实现学习笔记(一)——简介
- R学习笔记(一)数据结构
- OpenCV笔记(一)——数据结构与基本绘图
- (三十)C语言学习笔记(一)——类型、运算符与表达式
- R语言学习笔记——RMySQL基本操作
- R语言学习笔记——R语言数据处理基本操作
- R语言学习笔记(一)
- R语言学习笔记(一)
- R语言学习笔记(一)
- R语言学习笔记(一)
- R语言学习笔记(一)
- R 语言学习笔记(一)
- R语言学习笔记(一)
- 从零开始系列-R语言基础学习笔记之二 数据结构(一)
- 官方 NSIS 插件全集简单介绍
- Adb connection Error:远程主机强迫关闭了一个现有的连接——解决方法k
- 自己写的DIV+CSS 表单
- python统计pv、uv
- Hdu 1789
- R语言学习笔记(一)——数据结构与基本运算
- android R.java文件介绍
- 关于iOS审核加急的 账号问题说明
- automake
- C/C++输入读取数据函数总结
- hit oj 2255
- SQL Server 常用高级语法笔记.别再写几百行的语句了。ok?
- Android 屏幕适配方案
- 顶尖投资人给新手投资人的忠告