Class 08 - 数据的读取和保存 R语言中的管道(pip)功能

news2024/11/23 21:30:18

Class 08 - 数据的读取和保存 & R语言中的管道(pip)功能

  • 数据的读取和保存
    • data() - 加载R中的数据集
    • readr 功能包介绍
      • readr 包中读取文件的函数
      • read_csv() 读取 .csv 文件
    • readxl 包读取Excel文件
      • read_excel() - 读取Excel文件
      • excel_sheets() - 读取Excel中sheet名称
  • R语言中的管道(pipe)功能

数据的读取和保存

这部分用来介绍在R语言中一些常用文件的读取和保存,如最常见的csv文件、Excel文件。

还会介绍如何加载R语言中集成的数据集。

data() - 加载R中的数据集

R语言本身会集成一些数据集,可以用来联系R语言,比如“Titanic”(泰坦尼克数据)、“iris”(鸢尾花数据)等在许多数据分析或者机器学习中用到的数据集。

在R语言中可以直接使用 data() ,在括号中输入对应的数据集名称,加载这些数据集。

例如:data(Titanic) 加载Titanic(泰坦尼克数据集)。

data(Titanic)

在这里插入图片描述
当您运行该函数时,R 将加载数据集。 数据集还将出现在 RStudio 的环境面板中。

在这里插入图片描述

现在数据集已加载,您可以在 R 控制台窗格中预览它。 只需输入它的名字

Titanic

然后运行,在下面控制台区域就会显示数据集的数据信息。
在这里插入图片描述

如果直接运行data()函数本身,不在括号中指定数据集,R 将显示可用数据集的列表。

data()

输出如下:

在这里插入图片描述

可以尝试使用列表中的其他数据集来进行不同的练习和测试。


readr 功能包介绍

上面介绍了如何加载R语言内置的数据集,这些内置的数据集一般都是用来做数据分析的练习来使用的。

在实际工作中,分析的数据都是从数据库或者其他地方整理过的数据,大部分都是需要从本地电脑中导入的,那么下面就介绍如何使用readr功能包来读取文件。

readr 功能包是 tidyverse 功能包 的一个核心功能包。 如果你已经安装了 tidyverse,就可以直接开始使用 readr 中的功能函数了。 如果没有安装,可以参考前面文章来安装 tidyverse

readr 包中读取文件的函数

readr 的目标是提供一种快速且友好的方式来读取数据。 readr 支持多种 read_ 函数。 每个函数都指定读取特定的文件格式。

  • read_csv():逗号分隔值 (.csv) 文件

  • read_tsv():制表符分隔值文件

  • read_delim():一般分隔文件

  • read_fwf():固定宽度的文件

  • read_table():表格文件,其中列由空格分隔

  • read_log():网络日志文件

这些函数的使用方法都比较相似,所以只要学会了如何使用其中的一个,就可以将其的应用到其他类似的函数中。

我们重点了解read_csv()函数,因为 .csv 文件是工作和学习中最常见的数据存储形式之一,尤其在数据分析工作中,将经常使用它们。

read_csv() 读取 .csv 文件

首先我们准备一个需要读取的csv文件,比如在 kaggle 网站中下载的 Titanic 数据集。

首先我们来加载library(tidyverse) 功能包(不加载就会找不到read_csv() 这个函数),然后就可以使用 read_csv() 函数去读取文件了。

我们可以把读取的数据指定一个名称,这样方便在后续的代码中去调用。

举个例子:
先输入read_csv(),然后在括号中,您需要提供文件的路径(需要注意此处文件路径使用/来分割,不是用\来分割的)。

# 加载功能包
library(tidyverse)

# 读取文件
df = read_csv('C:/kaggle/Titanic/data/train.csv')

当运行该函数时,R 会打印出一个说明,并且右边环境中也有了设置好的函数。

在这里插入图片描述

之后我们只需要输入设置好的名称就可以显示数据集信息了。
如,直接输入df,然后运行。


# 加载功能包
library(tidyverse)

# 读取文件
df = read_csv('C:/Users/17600/OneDrive/文档/kaggle/Titanic/data/train.csv')

df

输出结果:
在这里插入图片描述


readxl 包读取Excel文件

在工作中,除了csv文件以外,最常见的可能就是Excel文件了,在R语言中要把Excel文件中的数据读取到程序中,可以使用 readxl 包。 readxl 包可以轻松地将数据从 Excel 读取到 R中。

readxl 支持传统的 .xls 文件格式和基于 xml.xlsx 文件格式。

readxl 包是 tidyverse 的一部分,但不是核心 tidyverse 包,因此需要先使用 library() 函数在 R语言 中加载 readxl

library(readxl)

read_excel() - 读取Excel文件

读取Excel文件和读取csv文件时有些区别的,因为csv文件是一个单独的文件,其中没有sheet来对数据分区,直接读取就可以的。但是Excel文件中很多时候是包含多个sheet的。

下面我们先使用read_excel()来读取Excel文件,然后产看数据信息。就像使用read_csv()那样。
在这里插入图片描述
我们看到确实读取到了数据,但是只读取了一部分,并不是Excel表中的全部数据。

下面为Excel表中的数据,其中包含一月二月三月,三个sheet,我们只读取到了第一个sheet (一月) 的数据,并没有其他两个sheet的数据。

在这里插入图片描述

那么该怎么读取全部的数据呢?这时需要在·read_excel()·函数中,添加sheet= 参数,指定读取sheet的名称。

举个例子:


# 加载功能包
library(readxl)

# 读取文件
df = read_excel('C:/kaggle/Titanic/data/这是一个Excel文件.xlsx', sheet = '二月')

df

输出如下:

在这里插入图片描述
这样就读取到不同的sheet中的数据了。

如何通过R来获取Excel中的sheet名称呢个?这时候会需要用到·excel_sheets()·函数

excel_sheets() - 读取Excel中sheet名称

·excel_sheets()·函数,可以用来读取Excel中的sheet名称。


# 加载功能包
library(readxl)

# 读取文件
excel_sheets('C:/kaggle/Titanic/data/这是一个Excel文件.xlsx')

输出结果:

在这里插入图片描述
可以看到,Excel中的sheet名称都读取到了。

R语言中的管道(pipe)功能

R语言中有一种叫做 管道(pipe) 的功能。用%>%来表示

  • 管道是 R 中的一种工具,可帮助使代码更高效、更易于阅读和理解。

  • 管道是 R 中用于表达多个操作序列的工具。 换句话说,它接受上一个语句的输出,并使其成为下一个语句的输入。 比如在需要套用多个函数在执行计算的时候,可以使用 管道(pipe) 功能来执行相同的工作。

我们将使用 ToothGrowth 数据集,这个数据集是R语言中内置的数据集。

该数据集包含有关维生素C对豚鼠牙齿生长影响的数据。

通过使用这个数据集中的数据来演示,帮助我们了解管道的工作原理。

先使用data()函数加载数据集ToothGrowth

# 加载数据

data("ToothGrowth")

然后我们可以使用 View 函数查看数据集ToothGrowth中的数据。

# 加载数据

data("ToothGrowth")

#查看数据

view(ToothGrowth)

在这里插入图片描述

view()函数会在脚本中显示一个新选项卡,显示数据集的内容。

下面我们对数据进行过滤,筛选dose=0.5的数据,之后再对数据进行排序。



# 加载数据
data("ToothGrowth")

#查看数据
view(ToothGrowth)

# 过滤数据
df <- filter(ToothGrowth,dose == 0.5)
# 排序
arrange(df,len)

输出如下:

在这里插入图片描述

如果没有管道,我们想要一次执行完前面的操作需要把函数进行嵌套,如下,

arrange(filter(ToothGrowth,dose == 0.5),len)

下面我们使用 管道(pipe) 功能来演示这段代码:


# 加载数据
data("ToothGrowth")


# 使用管道(pipe)
df <- ToothGrowth%>%
  filter(dose == 0.5)%>%
  arrange(len)
df


在这里插入图片描述
得到的结果是一样的,但是使用 管道(pipe) 会让代码的执行过程更清晰,每一步先执行什么然后再执行什么一步了然。

Tips:
在管道(pipe)操作的每一行的末尾添加管道操作符(%>%)非常重要,最后一行除外。在 RStudio 会自动缩进属于管道(pipe)的代码行。如果代码中的某行未缩进,这可能会导致错误语句

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/555676.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows平台的视频播放软件-potplayer

可以播放多种格式的视频&#xff0c;可以将大视频按需裁剪为多个指定的小视频&#xff0c; 裁剪方式&#xff1a;快捷键altc打开如下界面 从上往下的功能大致描述为&#xff1a; 1、选择裁剪得到的视频的存储路径 2、设置才见得到的视频文件的前缀名 3、这个功能很重要&#xf…

ChatGPT帮你写简历找工作

随着随着毕业时间的到来&#xff0c;应届生将要面临求职问题&#xff0c;根据官方的统计&#xff0c;2023届高校毕业生预计达1158万人&#xff0c;就业市场竞争激烈&#xff0c;无论是校园招聘&#xff0c;招聘会&#xff0c;线上招聘除了自身的准备和个人能力&#xff0c;都会…

优秀的前端开发框架

优秀的前端开发框架 1.Vue Vue2文档&#xff1a;Vue.js Vue3文档&#xff1a;Vue.js - 渐进式 JavaScript 框架 | Vue.js 用于构建用户界面的渐进式框架 Vue的核心库只关注视图层。可与elementUI配合Element - The worlds most popular Vue UI framework 2.React 原先的Fa…

动态库、静态库的构建与使用

一、理解动态库与静态库 静态、动态是指链接 所谓静态、动态是指链接。回顾一下&#xff0c;将一个程序编译成可执行程序的步骤&#xff1a;链接&#xff1a; 把外部函数的代码&#xff08;通常是后缀名为.lib和.a的文件&#xff09;&#xff0c;添加到可执行文件中。这就叫做…

Java面试知识点(全)-分布式和微服务-redis面试知识点

redis是什么 redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等场景。该数据库使用ANSI C语言编写&#xff0c;支持网络&#xff0c;提供字符串、哈希、列表、队列、集合结构直接存取&#xff0c;基于内存&#xff0c;可持久化。 为…

一个神奇的小工具,让URL地址都变成了“ooooooooo“

转换的逻辑有点像短链平台一样&#xff0c;只不过这个是将你的URL地址变的很长长长长&#xff0c;但是看着都是 ooooooooo&#xff0c;很好奇是如何实现的&#xff0c;所以查阅了源码&#xff0c;本文解读其核心实现逻辑&#xff0c;很有趣且巧妙的实现了这个功能。 发现一个很…

kaggle帕金森病进展预测大赛金牌方案分享

赛题背景 帕金森病 &#xff08;PD&#xff09; 是一种致残的脑部疾病&#xff0c;会影响运动、认知、睡眠和其他正常功能。不幸的是&#xff0c;目前没有治愈的方法 - 并且疾病会随着时间的推移而恶化。据估计&#xff0c;到2037年&#xff0c;美国将有1万人患有帕金森病&…

LeetCode 1080. Insufficient Nodes in Root to Leaf Paths【递归,二叉树】中等

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

【Java|基础篇】详解static关键字和代码块

文章目录 1.前言2.static关键字2.1 static修饰成员变量2.2 static修饰成员方法 3. 代码块3.1 普通代码块3.2 静态代码块3.3 构造代码块 4.总结 1.前言 本文主要讲解static关键字以及代码块的执行顺序以及各部分代码块的作用. 2.static关键字 Java中的static关键字是用来修饰…

hive函数02

hive函数02 窗口函数 窗口函数&#xff08;Window functions )也叫做开窗函数、OLAP函数&#xff0c;其最大特点是∶输入值是从SELECT语句的结果集中的一行或多行的“窗口”中获取的。 窗口函数可以简单地解释为类似于聚合函数的计算函数&#xff0c;但是通过GROUP BY子句组合…

jenkins 常见问题汇总

1、win11 节点&#xff08;Error: Unable to access jarfile slave.jar&#xff09; jenkins 默认cd 进入到设置的目录下面&#xff0c;如果不是C盘的话&#xff0c;直接cd 进入不了其他盘&#xff0c;所以&#xff0c;需要在命令前面&#xff0c;加参数进入到对应盘符。eg:E:…

pandas1

pandas pandas 的核心是&#xff1a;‘Series’、‘DataFrame’、Index’三个类型 1. 创建DataFrame对象 1.1 通过二维数组创建 scores np.random.randint(60,101,(5,3)) scoresarray([[ 91, 87, 87],[100, 80, 61],[ 76, 84, 80],[ 81, 97, 69],[ 67, 77, 65]]…

如何查看SSL证书的有效期?(中科三方)

SSL证书能够对数据传输进行加密处理&#xff0c;对网站的真实性进行核验&#xff0c;是网站提升数据安全能力的重要手段&#xff0c;现在已经有越来越多的网站开始安装SSL证书。但为了保障加密技术的快速更新&#xff0c;SSL证书的有效期逐渐缩短&#xff0c;而一旦SSL证书失效…

【腾讯云 Finops Crane 集训营】心得体会

【腾讯云 Finops Crane 集训营】心得体会 一直在关注技术社区的活动&#xff0c;希望看到更多的新技术&#xff0c;最近在逛 CSDN 的过程中&#xff0c;让我有机会参加了腾讯云的 Finops Crane 开源项目的第一季活动&#xff0c;从而深入了解了这个项目。Crane是一种云资源分析…

PMP常考知识点整理

1十大知识领域之项目整合管理 ❒ 变更控制流程&#xff08;简化版&#xff09; 书面记录变更请求→分析影响→提交CCB进行审批→批准或者拒绝→若批准&#xff0c;先修改计划&#xff08;体现变更&#xff09;&#xff0c;再通知变更受影响相关方&#xff0c;最后再执行、追踪…

【PCIE720】 基于PCIe总线架构的高性能计算(HPC)硬件加速卡

板卡概述 PCIE720是一款基于PCI Express总线架构的高性能计算&#xff08;HPC&#xff09;硬件加速卡&#xff0c;板卡采用Xilinx的高性能28nm 7系列FPGA作为运算节点&#xff0c;在资源、接口以及时钟的优化&#xff0c;为高性能计算提供卓越的硬件加速性能。板卡一共具有5个F…

Linux---文件操作命令(find、which、read)

1. find命令 find [路径] [参数] 要查找的目录路径&#xff0c;可以是一个目录或文件名&#xff0c;也可以是多个路径&#xff0c;多个路径之间用空格分隔&#xff0c;如 果未指定路径&#xff0c;则默认为当前目录。 可选参数&#xff0c;用于指定查找的条件&#xff0c;可…

day37_JQuery

今日内容 零、 复习昨日 一、JQuery 零、 复习昨日 正则 匹配,筛选字符串[0-9a-zA-ZA-z\d\w]*?{3}{4,}{5,10}^$reg.test(字符) jquery js封装的库,封装js操作,可以用来操作事件,dom,动画,ajax$("#id") $("element") $(".class")$("选择器…

chatgpt赋能Python-pythonwhile遍历

Python中使用while循环遍历的优势 Python是一种高级语言&#xff0c;广泛用于Web开发、数据科学、人工智能等方面。Python提供了多种循环结构&#xff0c;其中while循环是一种非常常用的遍历方式。在本篇文章中&#xff0c;我们将介绍如何在Python中使用while循环遍历&#xf…

A2L文件的自动生成(Simulink/CANape)

目录 什么是A2L文件&#xff1f; 使用simulink生成A2L文件 A2L文件组成 characteristic measurement compu_method group simulink生成的A2L与CANape生成的A2L 如何自动修改simulink生成A2L文件使其适用于CANape&#xff1f; 所需文件 什么是A2L文件&#xff1f; A2…