R的基本数据结构

1.向量

1.1产生向量

a <- c(1,2,3) #使用命令c()创建向量

1.2产生序列

b <- seq(from=-2,to =2 ,by =0.5) #使用seq函数生成步长为0.5的等差数列
b<- rep(1,times =5) #使用rep函数生成重复五次的序列

1.3向量的索引

x1 <- c(1,2,na,4,5) #向量的索引可以用于查询、赋值,其本身也是一个向量。向量的索引可以分为数字索引、字符索引和逻辑索引三种,其中默认索引形式为数值索引
x1[3] # 索引查找第三位元素
x1[1:3] # 索引查找第一/第二/第三位元素
x1[-1] # 负索引表示非此位置,例子为查询非1号位置的元素

1.4使用names函数可以方便的按照字符名称对向量进行查询和赋值。

book <- c(50,200,100,20)
names(book) <- c("English","mathematics","physical","computer")
book

English mathematics physical computer
50 200 100 20

2.矩阵

2.1 矩阵的创建

matrix1 <- matrix(c(1,2,3,4,5,6),nrow =2 ,ncol =3)# 定义一个2行3列的矩阵,默认是按列组成矩阵

matrix1
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
matrix1 <- matrix(c(1,2,3,4,5,6),nrow=2,ncol=3,byrow = TRUE)# 按行组成矩阵

2.2 矩阵的运算

t(matrix1) #矩阵的转置
solve(matrix1)# 矩阵求逆

2.3 矩阵的索引

matrix1 <- matrix(1:6,nrow=2)
matrix1
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
matrix1[1,] # 第一行
[1] 1 3 5
matrix1[,1] #第一列
[1] 1 2
matrix1[1:2,c(1,2)] #查询矩阵第一行第二行、第一列第二列元素
[,1] [,2]
[1,] 1 3
[2,] 2 4
matrix_name <- matrix(c(1,2,3,4),nrow=2,dimnames = list(c('row1','row2'),c('col1','col2')))# 通过dimnames参数指定索引名
matrix_name
col1 col2
row1 1 3
row2 2 4
matrix_name[1,'col2']
[1] 3

3 因子factor

因子是R中特有的一种数据结构,经常用在处理字符型变量数据的运算过程中。

age <- c('old','median','young','median','old','young')
age_f <- factor(age) #使用factor函数将序列转换为因子,分类水平排序按字母顺序或数字大小默认排序
age_f
[1] old median young median old young
Levels: median old young
age_f_ordered <- factor(age,levels = c('young','median','old'),ordered = T)#使用ordered参数按照指定因子顺序
age_f_ordered
[1] old median young median old young
Levels: young < median < old
table(age_f)
age_f
median old young
2 2 2
table(age_f_ordered)
age_f_ordered
young median old
2 2 2

4.列表

在一个对象中容纳多种数据类型(数据结构),可以使用列表方式。

v1 <- c(2:8)
v2 <- c('a','b','c')
m1 <- matrix(c(1:9),nrow=3)
f1 <- factor(c('high','low','low','high','high'))
mylist <- list(v1,v2,m1,f1)
mylist

5.数据框

5.1 数据框列表

将数据结构以数据框方式呈现。

list0 <- list(name= c('周鸿祎','刘强东','马云','马化腾'),age = c(41,45,52,51),company=c('360','jd','albb','tenct'))
data.frame(list0)
name age company
1 周鸿祎 41 360
2 刘强东 45 jd
3 马云 52 albb
4 马化腾 51 tenct

5.2 数据框的创建

name <- c('Jane','Alexa','Elant','Yolad')
english <-c (80,82,78,90)
math <- c(88,92,78,90)
art <- c(83,83,90,90)
score<- data.frame(name,english,math,art) #使用data.frame创建数据框score
score
name english math art
1 Jane 80 88 83
2 Alexa 82 92 83
3 Elant 78 78 90
4 Yolad 90 90 90

数据框可以使用使用序列数字索引或c()函数产生的索引,完成数据框切片

score [1:2,c('name','art')]
name art
1 Jane 83
2 Alexa 83

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

推荐阅读更多精彩内容

  • 这学期开了统计机器学习的课程,鉴于薄弱的概率论与统计学基础,学着还比较吃力,但是R语言的实践,还是令人兴趣十足。接...
    CharlesSun9阅读 4,622评论 1 6
  • 摘要:介绍R语言中常用的数据结构,向量、矩阵、列表、数据库、因子等。主要是它们的创建、索引和简单的运算。 数据类型...
    ChZ_CC阅读 633评论 0 0
  • 基础篇NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(...
    oyan99阅读 5,086评论 0 18
  • 我们会根据业务的要求做各种复杂的报表,包括了分组、排序、过滤、转置、差分、填充、移动、合并、分裂、分布、去重、找重...
    fhhhfssfhh阅读 1,435评论 0 6
  • 忆雪国 穿过县界长长的隧道,便是雪国。 在这片白茫茫的雪国岛村来来往往三次,每一次都有不一样的故事发生,这里的故事...
    阿西的藏佳话阅读 426评论 0 4