R语言数据类型与数据结构
一.数据类型 5种
1.character 字符
2.numeric 数值
3.integer 整数 一般数字的存储会默认为数值类型,如果要强调是整数,需要在变量值后面加上 L。 x <- 5L class(x)
4.complex 复数 1+2i
5.logical 逻辑 TRUE&FALSE
class()查看数据类型
R语言对大小写敏感
二。数据结构
属性:名称、维度、类型、向量结构
向量(vector):只能包含同一类型的对象。
创建向量方法1:x1 <- vector("integer",length = 4)
方法2:x2 <- 1:4
方法3:x3 <- c(1,2,3,4)
向量的其他特点,如果往向量里传的数据类型不一样,向量会强制转成同一种类型。x <- c(TRUE,10,"a") 结果都会转换成字符型元素。
向量数据类型的转换:as.xxx()
向量还可以给参量命名:
names(向量名) <- c(跟参量数量一致的名字)
向量名
矩阵和数组|matrix&array
矩阵可以看做 向量+维度属性(整数向量:nrow,ncol)
x<-matrix(1:4,nrow=2,ncol=2)

矩阵的填充方式是按列填充。
矩阵的相关函数:dim(x) 查看矩阵行列信息。
attributes()可以查询矩阵属性。
其他创建矩阵的办法(矩阵其实就是向量+维度信息)

矩阵的拼接:
按行拼接
按列拼接
数组 array
数组与矩阵非常相似,只是维度可以大于2


列表(是r中非常重要的数据结构
)
跟前面数据结构最大不同是可以包涵不同类型对象;可以直接给列表里的元素命名。


如何给矩阵的每行、每列命名?
用dimnames()

因子
分类数据,可分成有序和无序(按能否比大小来区分)



缺失值
NA&NaN
NA不属于NaN,NaN属于NA
NaN用来表示非法运算导致的缺失值,NA用来表示的范围更广。
相关函数,判断是否是na或nan is.na()
缺失值的处理,用平均数或者众数去补全。
数据框(data.frame())
用来存储表格数据,跟列表、矩阵关系都很密切。

日期与时间结构
时间分成两个类型,POSIXct/POSIXlt
表示距离1970-01-01过去了多少秒。前者存储的数据是整数,常寸在数据框中
POSIXlt是列表,包含年月日星期等

一个数据矩阵的每一行数据叫作一次观测,每一列叫作一个变量。
R语言数据类型与数据结构的更多相关文章
- R语言数据类型
R语言数据类型[转!!]Zhao-Pace https://www.cnblogs.com/zhao441354231/p/5970544.html R语言用来存储数据的对象包括: 向量, 因子 ...
- R语言 数据类型
R语言数据类型 通常,在使用任何编程语言进行编程时,您需要使用各种变量来存储各种信息. 变量只是保留值的存储位置. 这意味着,当你创建一个变量,你必须在内存中保留一些空间来存储它们. 您可能想存储各种 ...
- R 语言中的数据结构
基本数据类型 6种 numaric 如 12, 12.4 integer 如 2L,0L complex 包含实数和虚数 如 3+2i character 要用双引号或者单引号包括起来 如 & ...
- R语言-数据类型与运算符
一.在线安装包 install.packages(package_name) 二.查看变量 ls() 三.删除变量 rm() 四.变量类型 元数据类型:字符,整形,数字,虚数,BOOL 向量:vec= ...
- R语言笔记:快速入门
1.简单会话 > x<-c(1,2,4) > x [1] 1 2 4 R语言的标准赋值运算符是<-.也可以用=,不过不建议用它,有些情况会失灵.其中c表示连接(concaten ...
- R语言入门二
一.R语言应知常用函数 1.getwd() 函数:获取工作目录(同eclipse设置workspace类似),直接在R软件中使用,如下图: 2.setwd(dir=”工作目录”) 函数:设置R软件RS ...
- R语言快速入门
R语言是针对统计分析和数据科学的功能全面的开源语言,R的官方网址:http://www.r-project.org/ 在Windows环境下安装R是很方便的 R语言的两种运行模式:交互模式和批处理模 ...
- 从零开始系列-R语言基础学习笔记之二 数据结构(二)
在上一篇中我们一起学习了R语言的数据结构第一部分:向量.数组和矩阵,这次我们开始学习R语言的数据结构第二部分:数据框.因子和列表. 一.数据框 类似于二维数组,但不同的列可以有不同的数据类型(每一列内 ...
- R语言的数据结构
首先声明,R语言对大小写敏感. 一.向量 vector类型可以存储数字.字符和逻辑类型.构建函数为C(): > a <- c(1,2,3,4) > b <- c('dau',' ...
随机推荐
- 线程工具类 - CyclicBarrier(循环栅栏)
CyclicBarrier官方文档 一.原理 CyclicBarrier是另外一种多线程并发控制实用工具.它和CountDownLatch非常类似,它也可以实现线程的计数等待,但它的功能比CountD ...
- 使用sys.dm_exec_cached_plans监控存储过程性能
讨论了如何使用sys.dm_exec_query_stats动态管理视图(dmv ).本文将以SQL Server 2005为例,讨论如何利用dmv信息来判断tsql的性能优劣.在这篇文章中将继续我有 ...
- php implode()函数 语法
php implode()函数 语法 作用:把数组元素组合为字符串惠州大理石平板 语法:implode(separator,array) 参数: 参数 描述 separator 可选.规定数组 ...
- 2017ICPC沈阳网络赛 HDU 6205 -- card card card(最大子段和)
card card card Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- Codeforces 850A - Five Dimensional Points(暴力)
原题链接:http://codeforces.com/problemset/problem/850/A 题意:有n个五维空间内的点,如果其中三个点A,B,C,向量AB,AC的夹角不大于90°,则点A是 ...
- 修改Oracle数据库SGA和PGA大小
SGA的大小:一般物理内存20%用作操作系统保留,其他80%用于数据库.SGA普通数据库可以分配40%-60%之间,PGA可以分配20%-40%之间.1.以dba身份登录并查看SGA信息:SQL> ...
- 解决 canvas 在高清屏中绘制模糊的问题
主要代码部分: <canvas id="my_canvas" width="540" heihgt="180"></can ...
- scrapy电影天堂实战(一)创建数据库
原文链接 这里的排版没微信公众号那么友好,建议查看公众号原文 创建数据库 首先我们需要创建数据库和表等来存储数据 创建mysql.cnf配置文件 oot@ubuntu:/mnt/test_scrapy ...
- quick BI 修改列名备注
有些列名太长了,所以造成些影响.注意修改即可.
- git查看某个文件的提交历史
1. git log --pretty=oneline 文件名 文件名是文件路径+文件名,输入完整 输入正确后,打印出版本号的列表 2. git show <git提交版本号> <文 ...