首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R数据科学|第十一章内容介绍

使用forcats处理因子 因子在 R 中用于处理分类变量。从历史上看,因子远比字符串更容易处理。因此,R 基础包中的很多函数都自动将字符串转换为因子。...准备工作 使用forcats包来处理因子,这个包提供了能够处理因子的工具,其中还包括了处理因子的大量辅助函数。...library(tidyverse) library(forcats) 创建因子 假设我们想要创建一个记录月份的变量: x1 <- c("Dec", "Apr", "Jan", "Mar") 使用字符串来记录月份有两个问题...,那么可以使用 levels() 函数: levels(f2) #> [1] "Dec" "Apr" "Jan" "Mar" 实例练习 选取forcats::gss_cat数据集,该数据集是综合社会调查数据的一份抽样...修改因子水平 可以使用fct_recode()函数,它可以对每个水平进行修改或重新编码。该函数会让没有明确提及的水平保持原样,如果不小心修改了一个不存在的水平,那么它也会给出警告。

61820

tidyverse:R语言中相当于python中pandas+matplotlib的存在

tidyverse就是Hadley Wickham将自己所写的包整理成了一整套数据处理的方法,包括ggplot2、dplyr、tidyr、readr、purrr、tibble、stringr、forcats...出版有《R for Data Science》(中文版《R数据科学》),这本书详细介绍了tidyverse的使用方法。...从文件中读取数据 purrr:(提供好用的编程函数 tibble:data.frame升级款 stringr:处理字符,查找、替换等 forcats:处理因子问题 ?...4.6 分组: group_by # install.packages("dplyr") library(dplyr) 4.1 筛选: filter() #按给定的逻辑判断筛选出符合要求的子数据集...#1 Alex-2-78 #2 Bob-3-89 #3 Cathy-4-88 6.4 将一列分离为多列:separate() #separate()函数可将一列拆分为多列,一般可用于日志数据或日期时间型数据的拆分

4.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    tidymodels菜谱:数据预处理

    recipes的使用其实很简单,但是由于数据预处理步骤非常多,难以记住,所以我把一些常用的recipes的预处理函数列在这里,方便大家选择。...主要包括以下几个部分内容: 缺失值插补 作用于单个预测变量 离散化 哑变量和编码 交互项 中心化标准化 作用于多个预测变量 移除预测变量 样本(行)选择 其他 加载R包 library(tidyverse...────────────────────────────────────────── tidyverse_conflicts() ── ## ✖ dplyr::filter() masks stats...,和forcats包做的事情非常相似,大家可以参考我们的forcats包系列推文: R语言处理因子之forcats包介绍(1) R语言处理因子之forcats包介绍(2) R语言处理因子之forcats...包介绍(3) R语言处理因子之forcats包介绍(4) step_dummy() step_bin2factor() step_factor2string() step_string2factor()

    27820

    数据处理第2节:将列转换为正确的形状

    这些函数本质上需要总结一个列(如上所示),如果你想在列之间使用sum()或mean(),你可能会遇到错误或荒谬的答案。...如果需要,请使用代字号或funs()之前(见上文)。...rows, and 2 more variables: sleep_rem_min , ## # sleep_cycle_min 使用离散列 重新编码离散列 要重命名或重新组织当前的离散列...不幸的是,似乎没有简单的方法让case_when()返回一个有序的因子,所以你需要自己做,之后使用forcats :: fct_relevel(),或者只是一个因子()函数。...如果您要进行总结或后续的绘制,则该列将按字母顺序排序。如果要保留原始顺序,请添加“factor_key = TRUE”,这将使新列成为有序因子。

    8.1K30

    把函数包起来就是一个R包 - 完整开发指南

    use_package()函数 比如想要对因子创建排序的频率表,需要引用forcats::fct_count(): > use_package("forcats") ✓ Adding 'forcats'...role有四个: cre creator or maintainer 有问题时应该联系额人 aut 对包贡献最大的人 ctb 贡献者 cph copyright holder 如果版权是作者以外的人或机构...────────────────── tidyverse_conflicts() ─ x dplyr::filter() masks stats::filter() x dplyr::lag()...image-20200916142434573 可以使用Rstudio的install&Restart功能(bulid里面),他会完全重建包,包括更新所有的文档,安装包,重启R并且重新载入我们的包;进行这个操作后我们再...(str_length(c(NA, 1)), c(NA, 1)) expect_equal(str_length("NA"), 2) }) #> Test passed ?

    2.4K32

    R tips: rlang中的expression操作符

    代表立即执行和拆解执行 其实如果要将冻结的变量重新解除冻结,可以使用!!操作符来处理。这是一个rlang包中定义的一个操作符函数。...由于“冻结”现象的存在,导致变量不会被执行为它的值,但是如果一定要执行的话,可以手动冻结代码到expression中间态,然后使用!!操作符来强制先优先执行特定的变量或表达式即可。...操作在tidyverse系列包中很常见,比如可以将因子变量的水平值重新编码的函数fct_recode: ### 定义一个因子变量 test_factor <- factor(letters[1:5])...(test_factor), names = 1:5) recode # 1 2 3 4 5 #"a" "b" "c" "d" "e" ### 替换 forcats::fct_recode...mean_by_group,就像在使用dplyr中的函数一样,不需要引号包括。

    1.5K10

    机器学习| 一个简单的入门实例-员工离职预测

    类别(名义型)变量和有序类别(有序型)变量在R中称为因子(factor)。因子在R中非常重要,因为它决定了数据的分析方式以及如何进行视觉呈现。...其中针对收入水平变量,我们通过dplyr包中的mutate()函数和forcats包中的fct_relevel()函数将数据集中的salary变量按照指定的低、中、高的顺序进行排列,因此在调用之前先安装和加载...dplyr包和forcats包(install.packages(“dplyr”)、install.packages(“forcats”)),第一次使用前还需要进行加载(library(dplyr)、library...(forcats))。...然后基于这一参数值,我们将gamma和cost的参数分别设置为1,10,重新查看新生成模型fit.svm1的相关参数信息。 ?

    3K30

    「R」数据操作(五):dplyr 介绍与数据过滤

    这里我们使用dplyr包操作2013年纽约市的航班起飞数据集(2013)。 准备 这部分我们聚焦于如何使用dplyr包,除ggplot2的另一个tidyverse核心成员。...nycflights13 我们将使用nycflights13::flights来探索dplyr包基本的数据操作动词。该数据集包含2013年336,776次航班起飞数据,来自美国交通统计局。...,只含TRUE和FALSE fctr代表因子,R用它来代表含固定可能值的分类变量 date代表日期 dplyr基础 这部分我们学习5个关键的dplyr函数,它可以让我们解决遇到的大部分数据操作问题:...根据值选择观察(记录),filter() 对行重新排序,arrange() 根据名字选择变量,select() 根据已知的变量创建新的变量,mutate() 将许多值塌缩为单个描述性汇总,summarize...x == y ## [1] NA # 我们不知道 如果你想确定一个值是不是缺失了,使用is.na(): is.na(x) ## [1] TRUE filter()仅仅会包含条件是TRUE的行,把是

    2.6K11

    R语言|数据清洗

    2. dplyr dplyr是R语言中最受欢迎的数据操作包之一,擅长数据清洗和操作,语法简洁直观。...其他工具 根据需求还可以使用lubridate处理日期时间数据,janitor快速清理变量名等。 TIPS 使用示例 缺失值处理:缺失值处理是数据清洗的第一步。可以选择删除、填充或插值的方法。..., 55000, 60000, NA, 70000) )# 检测缺失值 is.na(data) # 删除含有缺失值的行 data_clean % na.omit() # 使用均值填充缺失值..., 30, 30, 35, 40) ) # 检测重复 duplicated(data) # 删除重复行 data_unique % distinct() 修正异常值:通过计算分位数或使用业务规则修正数据中的异常值..., data$Salary ) data na.omit(data) 数据标准化:将数据缩放到同一量纲,例如归一化或标准化。

    12810
    领券