Skip to Content
R 语言经典实例(原书第 2 版)
book

R 语言经典实例(原书第 2 版)

by J.D. Long, Paul Teetor
June 2020
Beginner to intermediate
522 pages
9h 6m
Chinese
China Machine Press
Content preview from R 语言经典实例(原书第 2 版)
468
15
这种函数称为
匿名函数
,因为它没有名称。
15.9.4 另请参阅
函数的定义在 15.3 节中描述。
15.10 创建可重复使用函数的集合
15.10.1 问题
需要在多个脚本中重复使用一个或多个函数。
15.10.2 解决方案
将函数保存在本地文件中,比如
myLibrary.R
,然后使用 source 函数将这些函数加载
到脚本中:
source("myLibrary.R")
15.10.3 讨论
通常,你需要编写在多个脚本中有用的函数。例如,你可以使用一个函数用于加载、检
查和清理数据。现在,你需要在每个需要数据的脚本中重复使用该函数。
大多数初学者会将可重复使用的功能剪切并粘贴到每个脚本中,复制代码即可。这造成
了严重的问题。如果你发现重复的代码有错误怎么办?或者,如果你需要更改代码以适
应新的环境,该怎么办?你被迫修改每一个副本并在每个地方做出相同的改变,这是一
个烦人且容易出错的过程。
相反,可以创建一个文件,比如
myLibrary.R
,并在那里保存函数定义。文件内容可能如
下所示:
loadMyData <- function() {
# code for data loading, checking, and cleaning here
}
然后,在每个脚本中,使用 source 函数从文件中读取代码:
source("myLibrary.R")
运行脚本时,函数 source 会读取指定的文件,就像你在脚本中的该位置键入文件内容
一样。它比剪切和粘贴更好,因为你已经将函数的定义放置到一个已知位置。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

机器学习实战:基于Scikit-Learn、Keras 和TensorFlow (原书第2 版)

机器学习实战:基于Scikit-Learn、Keras 和TensorFlow (原书第2 版)

Aurélien Géron
大规模数据分析和建模:基于 Spark 与 R

大规模数据分析和建模:基于 Spark 与 R

Javier Luraschi, Kevin Kuo, Edgar Ruiz
管理Kubernetes

管理Kubernetes

Brendan Burns, Craig Tracey

Publisher Resources

ISBN: 9787111656814