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 版)
数据转换
179
df %>%
mutate(output = fun(a = mn, b = mx, c = rng))
#> Error in seq.default(a, b, c): 'from' must be of length 1
6.3 将函数应用于矩阵的每一行
6.3.1 问题
你有一个矩阵,希望将函数应用于每一行,计算每一行的函数结果。
6.3.2 解决方案
使用 apply 函数。将第二个参数设置为 1,它表明逐行应用一个函数:
results <- apply(mat, 1, fun) # mat is a matrix, fun is a function
apply 函数将为矩阵的每一行调用一次 fun,然后将返回值放到一个向量中,然后返回
该向量。
6.3.3 讨论
你可能会注意到我们在此仅显示基础的 R apply 函数的使用,在其他方法中将说明
应用 purrr 的替代方法。在撰写本书时,矩阵运算不在添加包 purrr 的考虑范围内,
因此我们使用非常可靠的基础的 R apply 函数。如果你真的喜欢 purrr 语法,那么
你首先要将矩阵转换为数据框或 tibble,这时可以使用这些函数。但是如果你的矩阵很
大,你会发现使用 purrr 时运行速度会大大降低。
假设我们有一个包含纵向数据 (longitudinal) 的名为 long 的矩阵,每行包含一个对象的
数据,而列包含的是重复观察记录:
long <- matrix(1:15, 3, 5)
long
#> [,1] ...
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