前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >R语言的数据导入与导出(write.table,CAT)

R语言的数据导入与导出(write.table,CAT)

作者头像
学到老
发布于 2018-03-16 07:30:04
发布于 2018-03-16 07:30:04
4.3K00
代码可运行
举报
运行总次数:0
代码可运行

福尔·摩斯曾说过:“数据,数据,没有数据的推理是罪恶!”不过比起有意思的统计分析,数据的导入与导出显得十分的无趣,但是不得不说统计分析的数据导入与导出是个让人沮丧的任务,而且耗时巨大。 今天分享的是R中数据的输出与一些特定格式的数据读入。

一、数据的输出 R中提供了write.table(),cat()等函数来导出数据。不过值得指出的是R语言能够导出的数据格式是有限的,比如在基本包中,我们能够导出数据的格式只有txt,csv。 现在介绍一下两个函数的用法: write.table(x, file = “”, append =FALSE, quote = TRUE, sep = ” “, eol = “\n”, na = “NA”, dec = “.”,row.names = TRUE, col.names = TRUE, qmethod = c(“escape”, “double”), fileEncoding = “”) write.csv(…) write.csv2(…) write.csv(),write.csv2()可以看做write.table()的变体,我们知道write.csv(),与参数sep=“,”的write.table()是等效的。下面介绍几个常见参数: x:数据集 file:文件的路径,包括文件名如:”D:/R/data/data1.csv” quote:数据在写入文件中时我们常用引号将其隔开,当参数为F时,文件中的数据不再用引号修饰 append:是否追加,如果文件名已存在而没有选择追加,那么文件将会被覆盖。(覆盖时是没有提示的,所以命名需要注意一些。 cat(… , file = “”, sep = ” “, fill = FALSE, labels = NULL, append = FALSE) cat()作为一个输出函数与dos命令差不多,也是将数据集或数据写入文件中,常用参数和write.table()类似。 cat()函数用来输出,可以把多个参数连接起来再输出(具有paste()的功能)。 例如: > cat(c(“AB”, “C”),c(“E”, “F”), “n”, sep=”/ “) AB/ C/ E/ F/ n 还可以指定一个参数file=给一个文件名,可以把结果写到指定的文件中,如: > cat(“i = “, 1, “n”, file=”d:/R/data2.txt”)如果指定的文件已经存在则原来内容被覆盖。加上一个append=TRUE参数可以不覆盖原文件而是在文件末尾附加,这很适用于运行中的结果记录。 当然cat()的用法比较丰富,也可以用来查看文件,与format合用控制输出格式等。

二、数据的导入 先介绍R中基本的读取数据函数read.table()的用法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
read.table(file, header = FALSE, sep = “”, quote = “\”‘”,
dec =., row.names, col.names,
as.is = !stringsAsFactors,
na.strings =NA, colClasses = NA, nrows = -1,
skip = 0, check.names = TRUE, fill = !blank.lines.skip,
strip.white = FALSE, blank.lines.skip = TRUE,
comment.char = “#”,
allowEscapes = FALSE, flush = FALSE,
stringsAsFactors = default.stringsAsFactors(),
fileEncoding = “”, encoding = “unknown”, text)
read.csv(file, header = TRUE, sep =,, quote=”\”", dec=.,
fill = TRUE, comment.char=”",)
read.csv2(file, header = TRUE, sep =;, quote=”\”", dec=,,
fill = TRUE, comment.char=”",)
read.delim(file, header = TRUE, sep = “\t”, quote=”\”", dec=.,
fill = TRUE, comment.char=”",)
read.delim2(file, header = TRUE, sep = “\t”, quote=”\”", dec=,,
fill = TRUE, comment.char=”",)

介绍常用参数: File:文件路径,可以用绝对路径也可以用相对路径,R的工作目录你可以使用getwd()来查看,用setwd()来改。 Header:读取文件的第一行是否用作变量名 Sep:分隔符,参数为“,“时等价于read.csv() Scan()函数也是一个读取数据比较好的函数,但是参数较为复杂,我们可以说,read.table()函数是scan函数的设定好部分参数的结果。 Read.delim()这个可以读到剪贴板的东西,用法为read.delim(clipboard)其他参数与read.table相同。 Read.fwf()读取固定长度的数据,也可以利用这个特性截去数据的尾巴或者表格的尾巴。 自带的foreign包可以实现s-plus,sas,spss,stata的数据读入。以读stata数据为例: >Read.dta(“d:/R/data3.dta”)其他参数与read.table也是一样的。 遗憾的是,基本包与foreign包都没有办法读取excel的数据。但这并不代表我们没办法读取excel的数据。例如我们可以将excel的数据放在剪贴板中,通过read.delim(clipbroad)来读取。也可以将excel表格变成csv格式的再处理。最后指出,R中的gdata包的read.xls函数以及RODBC包中也有相应的处理函数。 本文的最后,运用R语言的帮助文档《R数据的导入与导出》中的一段话作为结束:“In general, statistical systems like R arenot particularly well suited to manipulations of large-scale data. Some othersystems are better than R at this, and part of the thrust of this manual is tosuggest that rather than duplicating functionality in R we can make anothersystem do the work! (For example Therneau & Grambsch (2000) commented thatthey preferred to do data manipulation in SAS and then use packagesurvival in S for the analysis.)”

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
软考复盘:系统架构设计师核心考点总结
这里,我总结了一下软件架构设计这一部分的关键内容,它们值得每个备考的人反复记忆甚至背诵。
Edison Zhou
2023/03/06
1.5K0
软考复盘:系统架构设计师核心考点总结
软件架构发展历程分享
架构的形式与特点 设计文档和代码 我们一般说的架构既包括架构的设计过程,也包括设计的产出物,一般可以包括各类设计文档、设计图,也可以包括一些技术验证代码、Demo 或者其他相关程序。文档的目的在于准确记录我们的思维产物,在软件尚未实现时,作为指导蓝图,尽量精确的描述清楚软件。 在软件的实现过程中,可能随时随着我们的深入研究,根据具体情况对文档做出局部的一些调整和修改。文档作为结项或交接的一部分,也是整个软件项目的产出物的一部分,成为公司 IT 资产的有机组成部分。 架构服务于业务 正如19世纪的伟大建筑
CSDN技术头条
2018/04/18
1.4K0
【新版系统架构】系统架构设计师教程全篇知识点提炼
1、架构体现在组件中的一个系统的基本组织、彼此的关系和环境的关系及指导它的设计和发展的原则 2、系统是组织起来完成某一特定功能或一组功能的组件集 3、环境或者上下文决定了对这个系统的开发、运作、政策以及会对系统造成其他影响的环境和设置 4、任务是由一个或多个利益相关者通过系统达到一些目标的一个用途或操作
阿提说说
2023/10/16
5.8K0
【新版系统架构】系统架构设计师教程全篇知识点提炼
系统架构师2023年案例分析考前
系统开发基础:UML建模(UML类图、用例图、状态图等)、数据流图、设计模式、ER图
小马哥学JAVA
2022/12/15
6820
工作十年,在腾讯沉淀的高可用系统架构设计经验
👉腾小云导读 在系统的开发过程中,很多开发者都为了实现系统的高可用性而发愁。本文从研发规范层面、应用服务层面、存储层面、产品层面、运维部署层面、异常应急层面这六大层面去剖析一个高可用系统的架构设计需要有哪些关键的设计和考虑。希望腾讯的经验方法,能够给广大开发者提供参考。内容较长,您可以收藏后持续阅读。 👉看目录点收藏,随时涨技术 1 高可用系统的架构设计思想     1.1 可用性和高可用概念     1.2 高可用系统设计思想 2 研发规范层面     2.1 方案设计和编码规范     2.2 容量规划
腾讯云开发者
2023/03/14
5.5K0
工作十年,在腾讯沉淀的高可用系统架构设计经验
系统架构设计师|关于系统架构(上)
系统架构是系统的一种整体的高层次的结构表示,是系统的骨架和根基,其决定了系统的健壮性和生命周期的长短。
六月暴雪飞梨花
2024/08/19
8270
系统架构设计师|关于系统架构(上)
不当愣头青、聊聊软件架构中的那些惯用的保命手段
抛去吃瓜的爽文成分,深入其内核,我们不难发现,小米SU7备用电源的设计思路,在软件领域有着广泛的共鸣和深刻的意义。在软件开发与设计的广阔天地里,面对的是一个充满变数的世界,其中既包括普通用户的日常操作,也涵盖了网络故障、硬件崩溃乃至恶意攻击的种种挑战。按照墨菲定律的阐述,只要概率大于0%的事情就很容易会发生(说的通俗点,就是怕什么就会来什么)。做好异常场景的应对,是一个成熟程序员的进阶必修课,也是一个软件系统线上平稳运行的内在基石。
是Vzn呀
2024/11/13
1030
不当愣头青、聊聊软件架构中的那些惯用的保命手段
【系统架构】第一章-绪论
1、架构体现在组件中的一个系统的基本组织、彼此的关系和环境的关系及指导它的设计和发展的原则 2、系统是组织起来完成某一特定功能或一组功能的组件集 3、环境或者上下文决定了对这个系统的开发、运作、政策以及会对系统造成其他影响的环境和设置 4、任务是由一个或多个利益相关者通过系统达到一些目标的一个用途或操作
阿提说说
2023/10/16
2920
【愚公系列】软考高级-架构设计师 100-软件系统属性
软件系统的属性可以从多个角度来理解和分类,包括功能性、性能、维护性、可移植性、可靠性、安全性等。以下是一些主要的属性及其解释:
愚公搬代码
2024/08/10
2580
谈谈异地多活架构
无论是高可用计算架构,还是高可用存储架构,其本质的设计目的都是为了解决部分服务器故障的场景下,如何保证系统能够继续提供服务。但在一些极端场景下,有可能所有服务器都出现故障。例如,典型的有机房断电、机房火灾、地震、水灾……这些极端情况会导致某个系统所有服务器都故障,或者业务整体瘫痪,而且即使有其他地区的备份,把备份业务系统全部恢复到能够正常提供业务,花费的时间也比较长,可能是半小时,也可能是12小时。因为备份系统平时不对外提供服务,可能会存在很多隐藏的问题没有发现。如果业务期望达到即使在此类灾难性故障的情况下,业务也不受影响,或者在几分钟内就能够很快恢复,那么就需要设计异地多活架构。
iMike
2019/06/02
3.4K0
系统架构设计师|关于系统架构设计师(下)
本篇为系统架构设计师的第二篇,主要说说何为系统架构设计师,他与系统架构之间的关系以及如何成为系统架构设计师,如有描述不清,还望指出。
六月暴雪飞梨花
2024/08/20
8240
系统架构设计师|关于系统架构设计师(下)
25年5月软考架构师论文预测
论文题目方才在3月初,就确定了的,就是新八大架构中的 云原生、大数据架构、微服务、安全架构、层次架构。
方才编程_公众号同名
2025/04/29
3320
25年5月软考架构师论文预测
【愚公系列】软考高级-架构设计师 101-系统架构评估
系统架构评估(System Architecture Evaluation)是一种系统化的方法,用于分析和评估软件系统的架构设计,确保其满足预期的质量属性和需求。
愚公搬代码
2024/08/11
8280
高可用架构之异地多活
当谈到架构的高可用时,无论是高可用计算架构,还是高可用存储架构,其本质的设计目的都是为了解决部分服务器故障的场景下,如何保证系统能够继续提供服务。但在一些极端场景下,有可能所有服务器都出现故障。例如,典型的有机房断电、机房火灾、地震、水灾……这些极端情况会导致某个系统所有服务器都故障,或者业务整体瘫痪,而且即使有其他地区的备份,把备份业务系统全部恢复到能够正常提供业务,花费的时间也比较长,可能是半小时,也可能是一天。因为备份系统平时不对外提供服务,可能会存在很多隐藏的问题没有发现。如果业务期望达到即使在此类灾难性故障的情况下,业务也不受影响,或者在几分钟内就能够很快恢复,那么就需要设计异地多活架构。
架构狂人
2023/08/16
5250
高可用架构之异地多活
春节引流活动百万级高并发、高性能下单系统架构设计和实现
百万级高并发规模是整个电信行业前所未见的,放眼整个互联网行业这种规模也是极少出现的量级,高并发架构设计不能简单的根据已有的其他行业的经验进行借鉴,需要根据实际业务功能进行设计和实现。业务上,对各功能模块进行拆分、解耦是整个设计的基础,技术上,需要根据业务尽量将流程设计成异步化、服务化,数据存储和处理方面引入分布分表、读写分离、缓存技术,总体设计上考虑分布式、云化、容器化部署方式,同时为了防止出现故障引入监控功能和熔断机制。所有的系统都不是万无一失的,所以设计过程还需要考虑故障的自动恢复以及应急预案处理。
武宗涛
2024/12/26
1360
微服务的风险:分布式固有的复杂性、服务的依赖性及雪崩效应
在微服务架构下,传统的单体应用被拆分为多个服务后,服务的数量变多了,同时之前单体架构下进程内部的方法调用转变为分布式网络环境下的远程调用,因此构建分布式微服务系统带来了额外的开销。
愿天堂没有BUG
2022/10/28
6310
微服务的风险:分布式固有的复杂性、服务的依赖性及雪崩效应
系统架构基础知识入门指南-上
接上一篇文章《为什么测试要了解系统架构》的内容,这篇聊聊如何掌握基础的系统架构知识。
老_张
2024/04/15
2360
系统架构基础知识入门指南-上
猫头虎分享: 探索软件系统架构的革新之路
在这篇博客中,我们将深入探讨软件系统架构的发展与革新。从单体应用到微服务,再到云原生架构,每一步都标志着技术的进步和思维的转变。对于软件工程师、架构师以及技术爱好者而言,这篇文章将提供关键的知识点和技术细节,帮助理解和把握架构设计的脉络。涵盖了微服务、容器化、DevOps、云计算等多个关键词,本文将是你理解软件架构演变的完美指南。
猫头虎
2024/04/07
1690
猫头虎分享: 探索软件系统架构的革新之路
为什么需要关注软件架构
作者 | Pierre Pureur, Kurt Bittner 译者 | 明知山 策划 | 丁晓昀 许多软件开发人员不信任架构实践,他们将这些实践与严格和专横的过程以及重要的前期规划和设计联系在一起。 因此,他们相信,如果他们遵循这些实践,可能需要很长时间才能交付一些甚至可能不是客户想要的东西。 他们更愿意专注于理解客户的需求,并通过小而快速的敏捷迭代过程来交付产品。 他们当中有一些人相信,只要遵循了这些过程,架构自然会“出现”,而不需要有意识地进行计划或架构设计。因为存在这些信念,他们可能不认
深度学习与Python
2023/03/29
5880
为什么需要关注软件架构
5分钟了解系统架构设计(2)
最近梳理了之前学习的架构设计相关的一些课程学习总结,将其整理成了一个大纲脑图,以每篇5分钟系列展现出来,希望对你有所帮助。
Edison Zhou
2022/12/16
4000
5分钟了解系统架构设计(2)
推荐阅读
相关推荐
软考复盘:系统架构设计师核心考点总结
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档