R语言入门之数据类型
时间:2022-07-22
本文章向大家介绍R语言入门之数据类型,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
R语言常见的数据类型
1. 向量(Vectors)
(1)向量本质上是由各种元素(字符串、数字等)组成的一维数据结构
a <- c(1,2,5.3,6,-2,4) # 数值型向量
b <- c("one","two","three") # 字符型向量
c <- c(TRUE,TRUE,TRUE,FALSE,TRUE,FALSE) #逻辑型向量
(2)提取向量的元素
a[c(2,4)] # 获取第二个和第四个元素
2. 矩阵(Matrices)
(1)矩阵本质上是一个二维数据结构,要求矩阵的每一列长度相同,同时元素类型要求一致,比如都是数值型元素。
mymatrix <- matrix(vector, nrow=r, ncol=c, byrow=FALSE,dimnames=list(char_vector_rownames, char_vector_colnames))
这里byrow=TRUE指数据先按行排列,byrow=FALSE 是指数据按列排列 (默认值). dimnames 可以给行和列提供相应的标签。
#实例
cells <- c(1,26,24,68)
rnames <- c("R1", "R2")
cnames <- c("C1", "C2")
mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=TRUE,dimnames=list(rnames, cnames))
(2)对矩阵里的元素进行索引
x[,4] # 获取矩阵的第四列
x[3,] # 获取矩阵的第三行
x[2:4,1:3] # 获取矩阵1,2,3列里的第2,3,4行元素
注意对于二维元素的索引,逗号前表示行,后表示列。如果想取整行或整列,只需要在逗号之前或之后写上相应的标签或这序数。
3. 数组(Arrays)
与矩阵不同的是,数组的维度可以大于2,其余性质和矩阵类似,这里就不再赘述了。
4. 数据框(Data Frames)
(1)数据框和矩阵最大的不同是数据框的不同列可以有不同类型的元素,即可以有的列是数值型,有的列是字符型等。
d <- c(1,2,3,4)
e <- c("red", "white", "red", NA)
f <- c(TRUE,TRUE,TRUE,FALSE)
mydata <- data.frame(d,e,f)
names(mydata) <- c("ID","Color","Passed") # 设置变量名
(2)数据框的索引方式多种多样,可以用行或者列的序数去进行,也可以直接用列名进行索引,还可以用data$colnames这样的方式进行索引。
myframe[3:5] # 提取数据框的第3,4,5列
myframe[c("ID","Age")] # 提取列名为‘ID’和‘Age'的两列数据
myframe$X1 # 提取变量名为’X1‘的那一列
5. 列表(Lists)
(1)列表是可以把各种数据类型整合在一起的数据类型,一个列表里可以有很多其它类型数据,不同数据类型里也可以有其它数据。
# 建立一个包含四个元素的列表(字符串、数值型向量、矩阵和标量)
w <- list(name="Fred", mynumbers=a, mymatrix=mymatrix, age=5.3)
(2)对列表进行索引时需要使用[[]]
mylist[[2]] # 提取列表里的第二个元素
mylist[["mynumbers"]] # 利用元素名字提取列表里的元素
好了,今天就分享到这里!下期会讲述因子(factor)这个数据类型以及一些常用的R函数。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Upload-labs通关笔记(一)
- Upload-labs通关笔记(二)
- Upload-labs通关笔记(三)
- Upload-labs通关笔记(四)
- Git使用总结
- Sqlilabs通关笔记(一)
- nodejs可读流源码分析
- Sqlilabs通关笔记(二)
- Sqlilabs通关笔记(四)
- Sqlilabs通关笔记(五)
- 如何证明sleep不释放锁,而wait释放锁?
- 如何将SAP Document Builder的word控件设置成只读模式
- 在SAP CRM WebClient UI里打开ABAP Webdynpro页面
- SAP CRM WebClient UI和ABAP Webdynpro页面的互相跳转
- 通过 Apache Ant 来运行 Tomcat