菜鸡的R语言学习笔记——数据结构 Part 3

R version 3.4.2 (2017-09-28) -- "Short Summer"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)
           

       这一篇博客的主要内容杂鱼探讨R语言的数据结构问题,但是同时会不定期跑偏,比如突然插入讲讲其他函数啥的,本文的主要知识点来源于《R统计建模与R软件》,所以我也是一名学习者。

       首先本文设计的数据结构包括(1)数字、字符与向量 (2)因子 (3)数组、向量与矩阵 (4)列表与数据框

       1 因子

       Q:为什么分类是一种预测方法,A:因为logistic回归不准啊。 坐!

       因为有许多变量的取值就是类别,你可以用数字表示类别,也有时会是人们为了方便强行分类,但是总之,这些变量是分类的。想一想,如果分类是完全封闭的,在这个封闭的体系内,只要分类的条件符合,那样就很容易可以判定变量的类别,同时推断性质。不同的类别可以用数字或者别的字符来表示。R语言用因子来表示这类变量。

       标准语法结构是:factor(x = character(), levels, labels = levels,exclude = NA, ordered = is.ordered(x), nmax = NA)

       其中,levels表示水平,可以自行指定各个离散取值,不指定时由x的不同取值求得。labels指定各水平的标签,不指定时用各个离散取值的对应字符串;exclude用来指定转换为NA缺失值的元素值集合,如果指定了levels,则当因子的第i个元素等于水平中的第j个元素时,元素值取“j”,如果它的值没有出现在levels中,则对应元素取NA;order取值为真(TRUE)时,表示因子水平是次序的(按照编码次序),否则是无次序的。

       这里用《统计建模与R语言》的例子来解释该问题 

> sex<-c("M","F","M","M","F")
> factor(sex)
[1] M F M M F
Levels: F M
       有没有感受到R语言的爱?

       可以用is.factor()检验对象是否为因子,用as.factor()来将一个向量转化为因子。

       同样可以用levels()来得到因子的水平,用table()来求各类数据的频数,实质上table()函数可以用来生成频数分布表,但是原始数据必定是二维的,举例如下:

> sexf<-factor(sex)
> levels(sexf)
[1] "F" "M"
> table(sexf)
sexf
F M 
2 3 
       ps:gl()函数快速产生因子

       一般用法:gl(n, k, length = n*k, labels = seq_len(n), ordered = FALSE)

> gl(3,5)
 [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3
Levels: 1 2 3
> gl(3,1,5)
[1] 1 2 3 1 2
Levels: 1 2 3
       但是注意,这里的n和k只能是一个整数,length的权利大于k

       

       2 数组和矩阵

       2.1 矩阵问题

       我相信从线性代数、高等代数等基础课程中走过来的各位你们一定非常,嗯,“喜欢”这个玩意,矩阵从定义上是:(维基百科)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值