R-数据结构
目录
数据类型
数据结构

- 向量
- 用于存储数值型、字符型或逻辑型数据的一维数组
- 单个向量中数据必须拥有相同的类型或者模式(数值型、字符型或逻辑型)
- 创建向量
# c()创建向量 x <- c(10,11,13,14) # : 创建向量 x <- 1:10 # seq(from, to, by, length.out, along.with) # seq(from, to, by, length, along) # 从5开始,间隔为2,长度为8 x <- seq(5, by=2, length=8) # 从10开始,间隔为3,长度与x相同(8) y <- seq(10, by=3, along= x)
- 提取子集
> a <- c(1,2,5,3,6,-2,4) [1] 1 2 5 3 6 -2 4 > a[3] [1] 5 > a[c(1,3,5)] [1] 1 5 6 > a[2:6] [1] 2 5 3 6 -2
- 矩阵
- 二维数组,每个元素都拥有相同的模式(数值型、字符型或逻辑型)
- 创建矩阵matrix
mymatrix <- matrix(vector, nrow=num, ncol=num, byrow=TRUE/FALSE, dimnames=list(rnames,cnames))
# 创建一个5X4的矩阵 > y <- matrix(1:20, nrow=5, ncol=4) > y [,1] [,2] [,3] [,4] [1,] 1 6 11 16 [2,] 2 7 12 17 [3,] 3 8 13 18 [4,] 4 9 14 19 [5,] 5 10 15 20 > cells <- c(1,26,24,68) > rnames <- c("R1","R2") > cnames <- c("C1","C2") # 按行填充的2X2矩阵 > mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=TRUE, dimnames=list(rnames,cnames)) > mymatrix C1 C2 R1 1 26 R2 24 68 # 按列填充的2X2矩阵 > mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=FALSE, dimnames=list(rnames,cnames)) > mymatrix C1 C2 R1 1 24 R2 26 68- 提取子集
> x <- matrix(1:10, nrow=2) > x [,1] [,2] [,3] [,4] [,5] [1,] 1 3 5 7 9 [2,] 2 4 6 8 10 # 0是indexs和columns > x[0,] [,1] [,2] [,3] [,4] [,5] > x[,0] [1,] [2,] # 所以提取值的序列是1开始 > x[2,] [1] 2 4 6 8 10 > x[,2] [1] 3 4 > x[1,c(2,3)] [1] 3 5
- 数组
- 数组与矩阵类似,但维度可以大于2(同样:每个元素都拥有相同的模式)
- 创建数据:myarray <- array(vector, dimensions, dimnames)
- vector:数组中的数据(相同模式)
- dimensions:一个数值型向量,给出各个维度下标的最大值
- dimnames:可选,各维度名称标签的列表
> dim1 <- c("A1","A2","A3","A4") > dim2 <- c("B1","B2","B3") > dim3 <- c("C1","C2") #创建三维数组 > z <- array(1:24, c(4,3,2), dimnames=list(dim1,dim2,dim3)) > z , , C1 B1 B2 B3 A1 1 5 9 A2 2 6 10 A3 3 7 11 A4 4 8 12 , , C2 B1 B2 B3 A1 13 17 21 A2 14 18 22 A3 15 19 23 A4 16 20 24- 提取子集:与矩阵相同
- 数据框
- 包含不同模式(数值型、字符型等)的数据,最常规(有用)的表格
- 创建数据框:mydata <- data.frame(col1,col2,col3,...)
> patientID <- c(1,2,3,4) > age <- c(25,34,28,52) > diabetes <- c("Type1","Type2","Type3","Type4") > status <- c("Poor","Improved","Excellent","Poor") > patientdata <- data.frame(patientID, age, diabetes, status) > patientdata patientID age diabetes status 1 1 25 Type1 Poor 2 2 34 Type2 Improved 3 3 28 Type3 Excellent 4 4 52 Type4 Poor - 提取子集
列表
- 因子
R-数据结构的更多相关文章
- R: 数据结构、数据类型的描述。
################################################### 问题:数据结构..类型 18.4.27 有哪些数据结构.类型?? 各自有什么特点? 解决方案 ...
- 机器学习与R语言
此书网上有英文电子版:Machine Learning with R - Second Edition [eBook].pdf(附带源码) 评价本书:入门级的好书,介绍了多种机器学习方法,全部用R相关 ...
- 机器学习 1、R语言
R语言 R是用于统计分析.绘图的语言和操作环境.R是属于GNU系统的一个自由.免费.源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具. 特点介绍 •主要用于统计分析.绘图.数据挖掘 •R内置 ...
- 《R实战》读书笔记三
第二章 创建数据集 本章概要 1探索R数据结构 2使用数据编辑器 3数据导入 4数据集标注 本章所介绍内容概括例如以下. 两个方面的内容. 方面一:R数据结构 方面二:进入数据或者导入数据到数据结构 ...
- 新工具︱微软Microsoft Visual Studio的R语言模块下载试用Ing...(尝鲜)
笔者:前几天看到了以下的图片,着实一惊.作为R语言入门小菜鸟,还是觉得很好看,于是花了一点时间下载下来试用了一下,觉得还是挺高大上的. 就是英文不好是硬伤.下面贴给小白,我当时的下载步骤与遇见的问题. ...
- 让R与Python共舞
转载:http://ices01.sinaapp.com/?p=129 R(又称R语言)是一款开源的跨平台的数值统计和数值图形化展现 工具.通俗点说,R是用来做统计和画图的.R拥有自己的脚本 ...
- Linux下源码编译安装rpy2
R(又称R语言)是一款开源的跨平台的数值统计和数值图形化展现工具.rpy2是Python直接调用R的第三方库,它可以实现使用python读取R的对象.调用R的方法以及Python与R数据结构转换等.这 ...
- web server性能优化浅谈
作者:ZhiYan,Jack47 转载请保留作者和原文出处 Update: 2018.8.8 在无锁小节增加了一些内容 性能优化,优化的东西一定得在主路径上,结合测量的结果去优化.不然即使性能再好,逻 ...
- iOS开发--知识点总结
1 .全局变量,变量名前加下划线.和系统一致. 2 . nil指针为空 @“”字符串为空 (内容为空) == 判断内存地址 基本变量 对于一些基本类型 可以使用==来判断, ...
- 使用 Rcpp
正如我们所提到的那样,并行计算只有在每次迭代都是独立的情况下才可行,这样最终结果才不会依赖运行顺序.然而,并非所有任务都像这样理想.因此,并行计算可能会受到影响.那么怎样才能使算法快速运行,并且可以轻 ...
随机推荐
- C语言之流的重定向
写c的小程序断不了需要输入输出,手动输入可太麻烦了.下面介绍IO的重定向方式: .重定向标准输入输出和错误,直接在命令行使用符号< > > >> >>等,还可 ...
- 关于git SSH Key的 生成
最近刚接触git,简直就是一小白用户,所以决定自己记录一些东西,以备不时之需 系统环境:Windows 1.首先下载git,http://git-scm.com/download/ 2.正常安装git ...
- Codeforces Round #389 Div.2 D. Santa Claus and a Palindrome
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...
- SPOJ913 Query on a tree II
Time Limit: 433MS Memory Limit: 1572864KB 64bit IO Format: %lld & %llu Description You are g ...
- PHP设计模式(一)
在码PHP程序的时候,为了以后更好地维护代码和理解代码,用一些合适的设计模式是必不可少的,下面我和大家首先分享下单例模式,有错误或者不恰当的地方,还望PHPer们帮我指出. 单例模式 PHP中的对象生 ...
- CentOS彻底卸载wine
说明:折腾啊折腾,装了卸,卸了装,哈哈. 1. 卸载wine及相关组件 yum remove wine* 2. 删除相关文件 ~/.wine ~/.local/share/applications / ...
- 帝国cms实现会员注册之后根据所在会员组转向的方法
帝国cms要实现会员注册之后根据所在会员组转向的能能,就需要修改/e/member/class/member_registerfun.php文件找到第175行,修改成如下代码: //审核 if($ch ...
- Code笔记之:CSS块级元素、内联元素概念
文档流 将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,即为文档流. 每个非浮动块级元素都独占一行, 浮动元素则按规定浮在行的一端. 若当前行容不下, 则另起新行再浮动. 内联元素也不 ...
- JavaWeb学习总结-01 JavaWeb开发入门
一 基本概念 1 Web开发的相关知识 Web,表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源(如html 页面): ...
- iOS - 沙盒中,如何判断存在文件、目录
在iOS开发中,在沙盒中创建沙盒一些存储各个功能的文件目录或者文件. 使用: [NSFileManager defaultManager] 1.判断目录,用她可以. 2.判断文件,用她可以. 3.创建 ...