4.R中的数据类型和数据结构(向量)

一、数据类型

数据类型(数据模式):表示该数据所属的类别,包括数值型( numeric,如1,2,3)、字符型( character,如今天,星期二)、逻辑性( logical,是,否/对,错)、因子型(factor将类别型的变量称为因子,如轻,中,重)、复数型(用的较少,不介绍)。

                                ——本节详细内容可参考Robert I. Kabacoff《R语言实战(第2版) 》



二、数据结构

R中用于存储数据的形式即数据结构,包括标量、向量(vector);矩阵(matrix)、数组;数据框(dataframe)和列表(list) (记住各数据类型和结构的英文,后面要用。标量和数组了解概念就行)


1 标量与向量 (vector)

向量是存储数值型、字符型或逻辑性数据的一维数组。

#标量即只有一个元素的向量 (标量了解就行)。

向量创建:c()函数 或者 :

#也可以用rep()和seq()函数创建,但是c()函数和冒号用的最多,掌握这两个,其他两个需要用时再介绍。

特点:同一个向量中的数据只能包含一种数据类型,不能混杂不同类型的数据。

举例:

a<-c(1,2,-3,-6,8) #向量中的变量叫做元素,比如这里a向量中第3个元素是-3

#注释符号不能多行注释,超出来的行在行前加注释符号,或者输入让解释器忽#(接上一行)略该行代码的命令

a #展示数值型向量a

b <- c("one","two","three")  #加双引号表示字符型

b

c<-c(TRUE,TRUE,FALSE) #逻辑向量c,逻辑元素也可简写成T/F

c

d<-c(4:8)  #冒号生成等差数列,从4到8的整数

d

e<-4:8  ##同c(4:8)

e

f <- 2:6

f

plot(e,f) #为了复习文档“3.R中的赋值和运算”中Rstudio的四个区,这里画个

#图展示,e为横坐标,f为纵坐标


如果觉得控制台内容太多,可以按快捷键“Ctrl加L”清空控制台(不会删除存储的变量名的)。   

2 向量中元素的引用 (即元素的提取)


使用中括号引用元素[]

x[i]  #x是向量名称,i表示第i个元素,合在一起就是提取x向量中第i个元素


举例:

rm(list=ls())  #清除所有变量

#因为我这里刚刚运行了几个变量(a-f),为了防止误解,我先清空一下。

#补充:rm(变量名)  可以清空某个变量。


a<-c(1,2,-3,-6,8)#创建向量a

a[3]  #提取向量a中第3个元素,返回值应该为 -3

a[c(2,4)] #分析:c(2,4)返回值为2,4;所以a[c(2,4)]即为a[2,4]

# a[2,4]即提取向量a中第2和第4个元素

#返回结果应为2  -6,看下面运行结果


3 向量的运算


数值型向量和数值型向量间可以进行数学运算(如果两个向量长度一样,即包含的元素个数一样多,返回为运算和的值;如果其中一个向量长度是另一个向量长度的整数倍,短的那个会按顺序重复全部元素,自动填充到和长的那个一样长,再进行数学运算;如果不是整数倍,会报警告,短的那个再填充到和长的一样长后再运算)



逻辑型向量和逻辑型向量间可以进行数学运算(T默认=1,F默认为0),也可以逻辑运算。

#主要介绍的是我们平时分析数据常用的两种运算,比较运算未介绍。

举例:

a<-c(3:5)  #注意这是冒号,上面讲过冒号的作用

b<-c(1,2,4)

c<-c(2,2,2,1,1,1)

d<-c(1,2)


a+b 

a*b

a+c    #c长度是a的倍数,所以a自动填充为“3,4,5,3,4,5”,再和c相加

a+d    #a长度不是d的倍数,所以会报警告,然后d填充为“1,2,1”,再和a相加



逻辑向量运算举例:


a<-c(T,F,T)

b<-c(F,T,T)

a+b  #数学运算(T默认=1,F默认为0)

a&b  #逻辑运算




4 判断数据是否为向量


is.vector()函数              #返回逻辑值


举例:


a<-matrix(c(1:12),nrow=3,ncol=4)  #创建一个3行4列的矩阵a

is.vector(a)            #判断a是向量吗?是就会返回TRUE,不是返回FALSE

is.matrix(a)#判断a是矩阵吗?


向量的转换用as.vector()函数,等学了其他数据格式后再一起介绍。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,084评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,623评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,450评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,322评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,370评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,274评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,126评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,980评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,414评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,599评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,773评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,470评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,080评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,713评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,852评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,865评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,689评论 2 354

推荐阅读更多精彩内容