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',' ...
随机推荐
- java程序员必知的 8大排序
Java常用的八种排序算法与代码实现 排序问题一直是程序员工作与面试的重点,今天特意整理研究下与大家共勉!这里列出8种常见的经典排序,基本涵盖了所有的排序算法. 1.直接插入排序 我们经常会到这样一类 ...
- Julia 语言
同时安装多个库 Pkg.add.(["IJulia", "Combinatorics", "Plots", "TaylorSeri ...
- 【leetcode】778. Swim in Rising Water
题目如下: 解题思路:本题题干中提到了一个非常重要的前提:"You can swim infinite distance in zero time",同时也给了一个干扰条件,那就是 ...
- PKU P2411 Mondriaan's Dream
PKU P2411 Mondriaan's Dream 题目描述: Squares and rectangles fascinated the famous Dutch painter Piet Mo ...
- 用flask写一个简单的接口
用falsk写一个简单的接口,这个接口的数据本来是爬虫爬取的数据,但是今天只写一个flask接口,数据就用测试数据好了. import random import re import time imp ...
- 关于C(n,m) 的奇偶 ,与C(n,0),C(n,1),C(n,2)…C(n,n).当中有多少个奇数
(n & m) == m 为奇数 C(n,0),C(n,1),C(n,2)…C(n,n).当中有多少个奇数 第一种想法是Lucas定理推导,我们分析一下 C(n,m)%2,那么由lucas定 ...
- EZOJ #389点分治好题
分析 一层一层把叶子去掉 看最多能去掉多少层即可 代码 #include<bits/stdc++.h> using namespace std; ],du[],fa[],n,m,ans; ...
- android7.0后对于detected problems with app native libraries提示框显示
log信息: 03-27 09:08:25.887 397 400 W linker : /data/app/com.guagua.qiqi-1/lib/arm/libMedia.so ha ...
- Nodejs - 交互式管理 Node.js 版本
n - npm:Interactively Manage Your Node.js Versions. Unfortunately n is not supported on Windows. npm ...
- RabbitMq(7)消息延时推送
应用场景 目前常见的应用软件都有消息的延迟推送的影子,应用也极为广泛,例如: 淘宝七天自动确认收货.在我们签收商品后,物流系统会在七天后延时发送一个消息给支付系统,通知支付系统将款打给商家,这个过程持 ...