R语言因子

因子是它们用于将数据进行分类并将其存储为级别的数据对象。它们可以同时存储字符串和整数。它们在具有唯一值的有限数目的列是有用的。
例如,"male, "Female" 和 True, False 等. 它们在统计建模的数据分析非常有用。

使用 factor() 函数通过采取向量作为输入来创建因子。

示例

# Create a vector as input.

data <-
c("East","West","East","North","North","East","West","West","West","East","North")

print(data)

print(is.factor(data))



# Apply the factor function.

factor_data <- factor(data)

print(factor_data)

print(is.factor(factor_data))

当我们上面的代码执行时,它产生以下结果:

 [1] "East" 
"West"  "East"  "North" "North"
"East"  "West" 
"West"  "West" 
"East"  "North"

[1] FALSE

 [1] East  West 
East  North North East 
West  West 
West  East  North

Levels: East North West

[1] TRUE

在数据帧的因子

在创建任何数据帧文本数据的列,R语言对待文本列作为分类数据,并在其上创建因子。

# Create the vectors for data frame.

height <- c(132,151,162,139,166,147,122)

weight <- c(48,49,66,53,67,52,40)

gender <-
c("male","male","female","female","male","female","male")



# Create the data frame.

input_data <- data.frame(height,weight,gender)

print(input_data)



# Test if the gender column is a factor.

print(is.factor(input_data$gender))



# Print the gender column so see the levels.

print(input_data$gender)

当我们上面的代码执行时,它产生以下结果:

  height weight gender

1   
132    
48   male

2   
151    
49   male

3   
162    
66 female

4   
139    
53 female

5   
166    
67   male

6   
147    
52 female

7   
122    
40   male

[1] TRUE

[1] male  
male   female female
male   female male
 

Levels: female male

更改级别的顺序

一个因素中的级别的顺序可以通过使用级别的新顺序,再次应用因子函数来改变。

data <-
c("East","West","East","North","North","East","West","West","West","East","North")

# Create the factors

factor_data <- factor(data)

print(factor_data)



# Apply the factor function with required order of the level.

new_order_data <- factor(factor_data,levels =
c("East","West","North"))

print(new_order_data)

当我们上面的代码执行时,它产生以下结果:

 [1] East  West 
East  North North East 
West  West 
West  East  North

Levels: East North West

 [1] East  West 
East  North North East 
West  West 
West  East  North

Levels: East West North

生成因子级别

我们可以通过使用 gl()函数生成因子的级别。它有两个整型输入,表示每个级别有多少水平和多少次。

语法

gl(n, k, labels)

以下是所使用的参数的说明:

    n
是一个整数来给出级别数

    k
是一个整数给出重复的数量

    labels
为所得到的因子级别标签的向量。

示例

v <- gl(3, 4, labels = c("Tampa",
"Seattle","Boston"))

print(v)

当我们上面的代码执行时,它产生以下结果:

Tampa  
Tampa  
Tampa  
Tampa   Seattle Seattle Seattle
Seattle Boston

[10] Boston  Boston  Boston

Levels: Tampa Seattle Boston

R语言因子的更多相关文章

  1. R语言因子排序

    画图的时候,排序是个很重要的技巧,比如有时候会看下基因组每条染色体上的SNP的标记数量,这个时候直接做条形图是一种比较直观的方法,下面我们结合实际例子来看下: 在R环境下之际构建一个数据框,一列染色体 ...

  2. R语言基础:数组&列表&向量&矩阵&因子&数据框

    R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...

  3. R语言学习笔记:因子

    R语言中的因子就是factor,用来表示分类变量(categorical variables),这类变量不能用来计算而只能用来分类或者计数. 可以排序的因子称为有序因子(ordered factor) ...

  4. 如何在R语言中使用Logistic回归模型

    在日常学习或工作中经常会使用线性回归模型对某一事物进行预测,例如预测房价.身高.GDP.学生成绩等,发现这些被预测的变量都属于连续型变量.然而有些情况下,被预测变量可能是二元变量,即成功或失败.流失或 ...

  5. R语言解读一元线性回归模型

    转载自:http://blog.fens.me/r-linear-regression/ 前言 在我们的日常生活中,存在大量的具有相关性的事件,比如大气压和海拔高度,海拔越高大气压强越小:人的身高和体 ...

  6. R语言实战(三)基本图形与基本统计分析

    本文对应<R语言实战>第6章:基本图形:第7章:基本统计分析 =============================================================== ...

  7. R语言实战(二)数据管理

    本文对应<R语言实战>第4章:基本数据管理:第5章:高级数据管理 创建新变量 #建议采用transform()函数 mydata <- transform(mydata, sumx ...

  8. R语言实战(一)介绍、数据集与图形初阶

    本文对应<R语言实战>前3章,因为里面大部分内容已经比较熟悉,所以在这里只是起一个索引的作用. 第1章       R语言介绍 获取帮助函数 help(), ? 查看函数帮助 exampl ...

  9. R 语言机器学习同步推进~

    教材就是传说中的机器学习和R语言--中文版,大家可以去图书馆借来看看~~~,例子都是来自书上的 首先介绍一下KNN算法,KNN还好吧,说白了就是一个算距离的公式然后以统计的方式呈现出来,以二维平面为例 ...

随机推荐

  1. MaxCompute,基于Serverless的高可用大数据服务

    摘要:2019年1月18日,由阿里巴巴MaxCompute开发者社区和阿里云栖社区联合主办的“阿里云栖开发者沙龙大数据技术专场”走近北京联合大学,本次技术沙龙上,阿里巴巴高级技术专家吴永明为大家分享了 ...

  2. Python-异常处理 使用selenium库自动爬取数据

    异常处理 处理程序的报错 语法 捕捉万能异常: try: print(a) except Exception as e: print("你的代码有问题") print(" ...

  3. day43作业

    注册页面: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  4. Spring注解驱动开发(二)-----生命周期、属性赋值

    bean的生命周期 bean的生命周期:bean创建---初始化----销毁的过程容器管理bean的生命周期:我们可以自定义初始化和销毁方法:容器在bean进行到当前生命周期的时候来调用我们自定义的初 ...

  5. centos yum 坏掉 db 损坏

    #首先清除掉缓存,之后再重建就可以了 rm -f /var/lib/rpm/__db* rpm --rebuilddb 提示的错误应该是: error: rpmdb: BDB0113 Thread/p ...

  6. Ceisum官方教程1 -- 开始

    原文地址:https://cesium.com/docs/tutorials/getting-started/ 学会使用全球地形.影像.3d tile(模型切片).地理编码创建一个Cesium程序. ...

  7. 建造者模式(Builder)(生成器模式)(框架化)

    建造者模式将一个复杂对象的构建与其表示分离. 将复杂对象进行框架化,将同类的对象编造进同一个制造流程.同类·对象会有一样的框架. 而由于各部分的实现细节有所不同,所生产出来的产品会有所不同.从而有不同 ...

  8. express-generator简单使用

    1.安装 npm install express npm install -g express-generator 全局安装.express-generator是一个node的自动化创建项目工具,类似 ...

  9. sqoop的数据抽取过程记录

    今天公司抽取了4千万的表大概十几G 用sqoop抽取是30--40分钟 开了两个map.模型是oracle----hdfs(hive).以前只抽过几十万级别,所以千万级别感觉还是spilt做好切分和定 ...

  10. 在Linux中常用的启动引导工具:grub和lilo

    在Linux和WINDOWS两系统并存时就需要安装GRUB(Grand Unified Bootloader),GRUB被广泛地用于替代lilo,GRUB支持在启动时使用命令行模式,支持md5加密保护 ...