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. C++项目使用的开源库记录

    日志库:log4cplus 网络库:libcurl xml库:tinyxml 多媒体库:lib555 视频解码库:ffmpeg 用opencv的VideoCapture类可以直接打开rtsp视频,所以 ...

  2. webpack打包css文件

    1. 安装css-loader 与 style-loader npm install style-loader css-loader --save-dev 2. 在webpack.config.js中 ...

  3. sqlserver 创建用户 sp_addlogin

    创建新的 Microsoft® SQL Server™ 登录,使用户得以连接使用 SQL Server 身份验证的 SQL Server 实例.  语法: sp_addlogin [ @loginam ...

  4. 升级gitk后,Error in startup script: unknown color name "lime"

    $ gitkError in startup script: unknown color name "greeen" (processing "-fore" o ...

  5. PAT甲级——A1049 Counting Ones

    The task is simple: given any positive integer N, you are supposed to count the total number of 1's ...

  6. 如何使用JMeter 进行压力测试

    文件转载至:https://jingyan.baidu.com/album/a681b0de5b85db3b184346b9.html?picindex=2 1.打开JMeter, 更改语言为中文,官 ...

  7. Python学习之高阶函数--嵌套函数、函数装饰器、含参函数装饰器

    玩了一晚上王者,突然觉得该学习,然后大晚上的搞出来这道练习题,凌晨一点写博客(之所以这么晚就赶忙写是因为怕第二天看自己程序都忘了咋写的了),我太难了o(╥﹏╥)o 言归正传,练习题要求:构造类似京东的 ...

  8. Hibernate-实体-对象状态-一级缓存-事务-查询

    一 hibernate中的实体规则 1.1 实体类创建的注意事项 持久化类提供无参数构造         --在调用instance()方法时默认调用空参构造 成员变量私有,提供共有get/set方法 ...

  9. 2019-1-29-dotnet-使用-Qpush-快速从电脑到手机推送文字

    title author date CreateTime categories dotnet 使用 Qpush 快速从电脑到手机推送文字 lindexi 2019-01-29 16:22:56 +08 ...

  10. npm config set registry 与 cnpm的区别

    一直以为这2个事没有区别的: npm config set registry http://registry.npm.taobao.org 后使用npm命令. npm install -g cnpm ...