R-模式(mode)和类(class)
数据模式:mode函数显示任何对象的模式。常见的单个的对象模式是逻辑型(Logical)、数值型(Numeric)、字符型(Character)。
常用到的数据模式是列表(list)。
- 逻辑型:TRUE和FALSE都是大写字母;转换成数值型时TRUE->1,FALSE->0。
- 字符型:输入字符型时可以用单引号或者双引号,而输出时都是双引号
- 列表:允许多种模式的数据,数据框也是一种列表。而矩阵、向量等要求所有数据都属于相同的模式。
数据模式之间的转换:
- as.character->转换为字符型
- as.numeric->字符型转换数值型
- as.logical->字符型转换逻辑型
数据类型:class函数显示对象的类。常见的有向量(Vertor),数据框(Frame),矩阵(Matrix),因子(Factor)。
- 因子:在统计建模和制图函数中对因子进行特殊处理。但是用mode函数检查时一律返回为数值型。
- 日期和时间:虽可以以字符型存储,但不方便应特殊处理。
数据模式和数据类型的检测:
- 列表允许多种模式的数据,若想获得各个组成部分的模式和类时,可以使用sapply函数。
- 数据框的模式是list,类是data.frame。
- 有时候mode和class函数返回相同的结果。
- 以"is."开头的很多函数如is.list,is.factor,is.numeric,is.character等,能让你确认是否跟你预期的相同。
> mylist = list(a = c(1,2,3),b = c('a','b','c'),c = c(TRUE,FALSE),d = factor('house'));
> sapply(mylist,mode)
a b c d
"numeric" "character" "logical" "numeric"
> sapply(mylist,class)
a b c d
"numeric" "character" "logical" "factor"
a = c(1,2,3);
b = c('a','b','c');
c = c(TRUE,FALSE);
d = factor('house');
> is.numeric(a)
[1] TRUE
> is.character(b)
[1] TRUE
> is.logical(c)
[1] TRUE
> is.factor(d)
[1] TRUE
> is.numeric(d)
[1] FALSE
#注意对d并不是数值型,返回FALSE。
R-模式(mode)和类(class)的更多相关文章
- 第一天:简单工厂模式与UML类图
何为简单工厂模式: 通过专门定义一个类,来负责创建其他类的实例,这些其它类通常具有共同的父类. 简单工厂模式的UML类图: 简单工厂模式中包含的角色和相应的职责如下: ...
- X86保护模式 八操作系统类指令
X86保护模式 八操作系统类指令 通常在操作系统代码中使用,应用程序中不应用这些指令 指令分为三种:实模式指令,任何权级下使用的指令.实模式权级0下可执行的指令和仅在保护模式下执行的指令 一 实模 ...
- 【安卓】安卓res文件夹下的资源文件与R.java文件里面类的对应关系
对于drawable.layout.menu文件夹下的每一个文件都分别会在R.java文件里面生成drawable.layout.menu类的一个常量,类名就是文件夹的名字,常量的名字就是文件名字. ...
- Java采用内部构造器Builder模式进行对类进行构建
好处: 能保证重叠构造器模式的安全性: 能保证JAVABeans模式的可读性: package cn.lonecloud.builder; /** * 使用内部类构建器来对这个类进行构造 * @Tit ...
- GDI+学习---2.GDI+编程模式及组成类
在使用GDI+的时候,您不必像在GDI中那样关心设备场景句柄,只需简单地创建一个Graphics对象,然后以您熟悉的面向对象的方式(如myGraphicsObject.DrawLine(paramet ...
- R语言——实验5-聚类分析
针对课件中的例子自己实现k-means算法 调用R语言自带kmeans()对给定数据集表示的文档进行聚类. 给定数据集: a) 数据代表的是文本信息. b) 第一行代表词 ...
- open() 函数以 r+ 模式打开文件
第一种用法:如果我们对文件进行写操作,则默认会从第一行开始写,且直接覆盖第一行的内容 [root@localhost ~]$ cat 1.txt # 文件内容如下 aaa bbb ccc In [1] ...
- 模板模式和Comparable类
模板模式中,父类规定好了一些算法的流程,并且空出一些步骤(方法)留给子类填充 Java的数组类中静态方法sort()就是一个模板,它空出了一个compareTo的方法,留给子类填充,用来规定什么是大于 ...
- Immutable-不变模式与不变类
不变模式的定义 一个对象在创建之后就不再变化,就是所谓的不变模式(Immutable Pattern): 一般来讲,一个对象要么就是可变对象(Mutable Object),要么就是不变模式(Immu ...
- 【起航计划 004】2015 起航计划 Android APIDemo的魔鬼步伐 03 App->Activity->Animation Activity跳转动画 R.anim.×× overridePendingTransition ActivityOptions类
App->Activity->Animation示例用于演示不同Activity切换时动态效果. android 5.0例子中定义了6种动画效果: 渐变Fade In 缩放Zoom In ...
随机推荐
- wpa安装方法
1.openssl 2.lib 1.1.2 3.wpa lua 编译错误 http://www.blogjava.net/xiaomage234/archive/2013/09/13/404037.h ...
- web前端攻城狮整理的收藏夹
作为一名web前端开发工程师你的收藏夹存对了吗?下面是一份互联网上流传甚广的web前端开发收藏夹资源,包含学习网站.JS库.常用工具.常用插件.资讯书籍等资源.速速转存吧~ 一.学习网站 W3 ...
- lower_bound()函数,upper_bound()函数
1.查找:STL中关于二分查找的函数有三个lower_bound .upper_bound .binary_search .这三个函数都运用于有序区间(当然这也是运用二分查找的前提),下面记录一下这两 ...
- HDU 1114 Piggy-Bank(完全背包模板题)
完全背包模板题 #include<cstdio> #include<cstring> #include<algorithm> using namespace std ...
- Jenkins--持续集成服务器
1.持续集成: 1.1概念 持续集成,Continuous integration ,简称CI. 集成:我们所有项目的代码都是托管在SVN服务器上.每个项目都要有若干个单元测试,并有一个所谓集成测试. ...
- HDU - 5592 ZYB's Premutation (权值线段树)
题意:给出序列前k项中的逆序对数,构造出这个序列. 分析:使用权值线段树来确定序列元素. 逆序对的数量肯定是递增的,从最后一个元素开始逆向统计,则\(a[i] - a[i-1]\)即位置i之前比位置i ...
- spark-sql做ETL时遇到的两个问题
项目中使用spark-sql来作ETL,遇到两个问题,记录一下. 问题1: spark-sql –master yarn –hiveconf load_date=`date –d ..` -e 'i ...
- Linux 磁盘
一台物理服务器通常有好几块磁盘(/dev/sda,/dev/sdb),每个磁盘上都可以进行分区(例如对sda进行分区操作:fdisk /dev/sda,可以将sda分成sda1,sda2,sda5等分 ...
- Shape-inside css新属性 几何图形的实现
https://www.w3cplus.com/css3/css-shapes-101.html
- JS正则表达式从入门到入土(4)—— 预定义类与边界
预定义类 正则表达式提供预定义类来匹配常见的字符类 字符 等价类 含义 . [^\r\n] 除了回车符和换行符以外的所有字符 \d [0-9] 数字字符 \D [^0-9] 非数字字符 \s [\t\ ...