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 版)
112
4
4.15 读取复杂格式数据文件
4.15.1 问题
你希望读取一个复杂或非常规格式的数据文件。
4.15.2 解决方案
使用 readLines 函数读取各行,然后将它们作为字符串处理以提取数据项。
或者,使用 scan 函数读取每一个单元,并使用 what 参数描述文件中单元流。该函数
可以将单元转换为数据,然后将数据组合成数据记录。
4.15.3 讨论
如果所有数据都用整齐的表格形式存放,那么工作将变得很轻松。我们可以使用 readr
包中的一个函数读取这些文件,然后轻松完成任务。
然而实际中并未如此完美!
你总会遇到某种奇异的文件格式,而你的工作是将文件的内容读入 R
read.table read.csv 函数是面向行来读取数据的,因此可能对这种数据无能为
力。然而,readLines scan 函数能解决这类问题,因为它们允许你基于每一行甚
至每一个单元读取数据。
readLines 函数非常简单。它从文件中读取各行并将其作为字符串列表返回:
lines <- readLines("input.txt")
你可以使用参数 n 限制要读入的最大行数:
lines <- readLines("input.txt", n = 10) # Read 10 lines and stop
scan 函数内容更为丰富。它一次读取一个单元(token),并根据指令进行处理。其中第
一个参数是文件名或链接,第二个参数称为 what,描述 scan 函数所期望的输入文件
的单元。what 参数的描述比较神秘但很奇妙: ...
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