R语言 | 输入与输出

news2024/12/28 3:07:15

目录

一、认识文件夹

1.1 getwd()函数

1.2 setwd()函数

1.3 file.path()函数

1.4 dir()函数

1.5 list.files()函数

1.6 file.exists()函数

1.7 file.rename()函数

1.8 file.create()函数

1.9 file.copy()函数

​1.10 file.remove()函数

二、数据输出:cat()函数

三、读取数据:scan()函数

四、输出数据:write()函数

五、数据的输入

5.1 读取剪贴板数据

5.2 读取剪贴版数据:read.table()函数

5.3 读取Excel文件数据

六、数据的输出

6.1 writeClipboard()函数

6.2 write.table()函数


一、认识文件夹

在执行程序设计时,可能常需要将执行结果存储至某个文件夹,本节将介绍文件夹的相关知识。

1.1 getwd()函数

getwd()函数可以获得目前的工作目录。

1.2 setwd()函数

setwd()函数可以更改目前的工作目录。

1.3 file.path()函数

 这个函数的主要功能类似于paste()函数,只不过这个函数是将片段数据路径组合起来。

 

 1.4 dir()函数

dir()函数可列出某个工作目录下的所有文件名以及子目录名称。

 使用dir()函数也可以省略“path=”。

1.5 list.files()函数

这个函数功能和dir()函数相同,可以列出某个工作目录下的所有文件名以及子目录名称。

1.6 file.exists()函数

file.exists()函数可检查指定的文件是否存在,如果存在则返回TRUE,如果不存在则返回FALSE。

1.7 file.rename()函数

file.rename()函数可以更改文件名。

 1.8 file.create()函数

file.create()函数可以建立文件。

1.9 file.copy()函数

file.copy()函数可进行文件的复制,这个函数会将第1个参数的原目录文件复制到第2个参数的目的目录文件。如果想了解更多参数细节可以参考“help(file.copy)”。

 1.10 file.remove()函数

file.remove()函数可删除指定的文件。

二、数据输出:cat()函数

 cat()函数可以在屏幕或文件输出R语言计算结果或是一般输出数据,它的使用格式和各参数意义如下所示:

cat(系列变量或字符串,file=" ",sep=" ",append=FALSE)
  • 系列变量或字符串:指一系列将要输出的变量或字符串。
  • file:输出到外部文件时可在此输入目的文件路径和文件名,若省略则表示输出到屏幕。
  • append:默认是FALSE,表示若想要输出到的目的文件已存在,将覆盖原文件。如果是TRUE,则将输出数据附加在文件末端。

 

上述的“\n”相当于换行打印。如果没有加上打印“\n”,则下一个打印数据将接着前一个数据的右边打印,而不会自动换行打印。cat()函数也可用于打印向量对象。

 

cat()函数是无法正常输出其他类型数据的,下列是尝试输出数据框(也是列表的一种)失败的案例:

 如果想打印其他数据类型对象,一般可以使用先前已大量使用的print()函数。

三、读取数据:scan()函数

使用scan()函数可以读取屏幕输入或外部文件的数据,若要结束读取屏幕输入,可以直接使用"Enter"键,它的使用格式如下:

scan(file=" ",what=double(),nmax=-1,n=-1,sep=" ",skip=0,nlines=0,na.strings="NA")

更详细的scan()函数可参考“help(scan)”。

  • file:所读的文件,如果不设定代表读取屏幕输入。
  • what:可设定输入数据类型,默认是双精度实数,可以是整数(Integer),字符(character),逻辑值(logical),复数(complex),也可以是列表数据。
  • nmax:限定读入多少数据,默认是-1,表示无限制。
  • n:设定总共要读多少数据,默认是-1,表示无限制。
  • sep:数据之间的分隔符,默认是空格或换行符
  • skip:设定跳过多少行才开始读取,默认是0。
  • nlines:如果是正数则表示设定最多读入多少行数据。
  • na.strings:可以设定遗失值得符号,默认是NA。

 

四、输出数据:write()函数

write()函数可以将一般向量或矩阵数据输出到屏幕或外部文件,这个函数的使用格式如下:

write(x,file="data",ncolumns=k,append=FALSE,sep=" ")
  • x:要输出的向量或矩阵。
  • file:输出至指定文件,如果是“ ”则代表输出至屏幕。
  • ncolumns:指出输出排成几列,默认如果是字符串则按1列输出,如果是数值数据则按5列输出。
  • append:默认是FALSE,如果是TRUE则在原文件有数据时,将输出数据接在原数据后面。
  • sep:设定各数据间的分隔符。

 

五、数据的输入

实用的数据一般均是以窗口或电子表格方式呈现,本节将针对这类数据做说明。

5.1 读取剪贴板数据

针对有些数据,可以先将它复制,复制后可以在剪贴板上看到这些数据,然后再利用readClipboard()函数读取。例如,在Excel内看到数据,假设你选取了C1:D5,然后将它复制到剪贴板。

注:readClipboard()函数不支持macOS系统。

由上述执行结果,我们成功读取了剪贴板的文件,但可以看到所读的数据有些乱,同时看到了“\t”符号,这是构成电子表格的特殊字符,所以如果想要将电子表格数据转成R语言可以处理的数据,那么还需要一些步骤,后面小节会做说明。

5.2 读取剪贴版数据:read.table()函数

read.table()函数配合适当参数可以读取剪贴板数据,这个函数的使用格式有些复杂,在此只列出几个重要参数。

  • file:带读取的文件,如果是读剪贴板则是输入“clipboard”。
  • sep:数据元素的分隔符,由上一小节可知Excel的分隔符是“\t”。
  • header:可设定是否读取第1行,第1行通常是数据的表头,该参数值默认是FALSE。

 

 

 5.3 读取Excel文件数据

若想要读取Excel文件,可以使用XLConnect扩展包来协助完成这个工作,但首先要下载安装这个扩展包,可参考以下步骤。

接着执行将XLConnect加载到数据库的代码。

六、数据的输出

6.1 writeClipboard()函数

writeClipboard()函数可以将数据输出至剪贴板。它与readClipboard()函数一样目前并不支持macOS。

 

在屏幕上看不到任何结果,但如果进入Excel窗口,再单击“粘贴”按钮,即可看到上述命令的执行结果。

6.2 write.table()函数

write.table()这个函数的基本使用格式和各参数意义如下所示:

write.table(x,file=" ",quote=TRUE,sep=" ",eol="\n",na="NA",dec=".",row.names=TRUE,col.names=TRUE)
  •  x:矩阵或数据框对象。
  • file:外部文件名,如果是“ “,则表示输出至屏幕,clipboard代表输出至剪贴板。
  • sep:表示输出时字符串两边需加" "号。
  • eol:代表end of line的符号,macOS系统可用”\r“,UNIX系统可用"\n",Windows可用"\r\n"。
  • row.names:输出时是否加行名,默认是TRUE。
  • col.names:输出时是否加列名,默认是TRUE。

在屏幕上看不到任何结果,但如果进入Excel窗口,再单击”粘贴“按钮,即可看到上述命令执行的结果。

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

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

相关文章

单片机c51中断 — 中断扫描法行列式键盘

项目文件 文件 关于项目的内容知识点可以见专栏单片机原理及应用 的第五章,中断 在第4章中已介绍过行列式键盘的工作原理,并编写了相应的键盘扫描程序。但应注意的是,在单片机应用系统中,键盘扫描只是 CPU 工作的内容之一。CPU …

一文理清 TiDB 与 MySQL 中的常用字符集及排序规则

1. 字符集(character set) 1.1. 字符集与编码规则 字符集(character set)即为众多字符的集合。字符集为每个字符分配一个唯一的 ID,称为 “Code Point(码点)”。编码规则是将 Code Point 转换…

商户查询的缓存——缓存击穿问题

缓存击穿问题也叫热点key问题,就是一个被高并发访问并且缓存重建业务比较复杂的key突然失效了,无数的请求访问会在瞬间给数据库带来巨大的冲击 常见的解决方案有两种: 互斥锁(高并发时性能较差) 逻辑过期 基于互斥锁方…

ASN.1-PKCS10-x509

在国际标准ITU-T X.690 《Information technology – ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)》中定义了ASN.1编码规则。对于一般数据类型(比如Integer、octe…

【软件工程】自动化测试保证卓越软件工程能力(2)

本次内容我们抽象一个待测试的目标软件产品,产品是基于web开发的。 自动化平台不是独立存在的,必然有一个目标待测试产品,用自动化测试来反映产品功能是否还是好的。 产品抽象v1 第一个版本,使用者(USER)发…

配置本地Angular环境并使用VsCode调试Angular前端项目

配置本地Angular环境并使用VsCode调试Angular前端项目 配置本地Angular环境部署Node.Js本地环境配置一下环境变量 使用vscode调试Angular安装vscode 配置本地Angular环境 部署Node.Js本地环境 1 从官网下载node.js, 本文为(v16.13.0) 下载地址: https://nodejs.org/dist/v16.…

windows server 2016报错无法打开所需文件install.wim

报错的前提条件: 1.下载原版镜像后,使用UltraISO制作U盘系统盘。 2.正常安装系统,到“安装程序正在启动界面”时弹出错误窗口,报错“Windows无法打开所需的文件 E:\Source\install.win。请确保安装所需的所有文件可用,并重新启动安装。错误代码:0x80070026”。 问题原因…

【MySQL学习】MySQL表的复合查询

文章目录 前言一、案例准备二、基本查询三、多表查询四、子查询4.1 单行子查询4.2 多行子查询4.3 多列子查询4.4 FROM子句中的子查询4.5 合并查询4.5.1 UNION4.5.2 UNION ALL 五、自连接六、内外连接6.1 内连接6.2 外连接6.2.1 左外连接6.2.2 右外连接 前言 对MySQL表的基本查…

大数据系列——Flink理论

概述 Flink是一个对有界和无界数据流进行有状态计算的分布式处理引擎和框架,既可以处理有界的批量数据集,也可以处理无界的实时流数据,为批处理和流处理提供了统一编程模型,其代码主要由 Java 实现,部分代码由 Scala实…

Java——Java选择题复习(1)(Java基础,进程,多线程,操作系统)

1. 下面关于程序编译说法正确的是() A. java语言是编译型语言,会把java程序编译成二进制机器指令直接运行 B. java编译出来的目标文件与具体操作系统有关 C. java在运行时才进行翻译指令 D. java编译出来的目标文件,可以运行在任意…

房地产中介迎来重磅文件,但核心目标仍是专业化规范化发展

5月8日下午,住房和城乡建设部、市场监管总局联合刊登重磅文件《关于规范房地产经纪服务的意见》(以下简称《意见》),因其涉及对经纪服务收费等具体问题的指导,文件引发市场重点关注。 不过,在系统性梳理文…

Redisson cannot use an unresolved DNS server address问题解决

概述 本文记录Mac IDEA开发,公司 远程办公时遇到的两个问题,记录一下。 问题 cannot use an unresolved DNS server address: [fe80::1%en0]:53 在家里,连上公司的VPN后,即可打开公司内网,远程办公。一切正常。某…

JVM学习(七):运行时数据区(精讲)

目录 一、运行时数据区概述 1.1 概述 1.2 运行时数据区中的GC和OOM 二、程序计数器(PC寄存器,Program Counter Register) 2.1 介绍 2.2 作用 2.3 特点 2.4 使用案例 2.5 常见面试题 三、虚拟机栈(Java Virtual Machi…

前端008_类别模块_新增功能

类别模块_新增功能 1、需求分析2、新增窗口实现3、列表引用新增组件4、关闭弹出窗口5、校验表单数据6、提交表单数据6.1、Mock 添加新增模拟接口6.2、Api 调用接口6.3、测试新增功能1、需求分析 点击 新增 按钮后,对话框形式弹出新增窗口输入分类信息后,点击 确定 提交表单数…

IDEA小技巧-Git的回滚强推代码找回

标题IDEA小技巧-Git的回滚&&强推&&代码找回 本地未Commit 新增文件 delete 变更文件 rollback 第一种方式 第二种方式 切换默认变更列表 Commit未push undo commit 仅适用于最后一次的提交进行回滚 drop commit 回滚 revert commit revert commi…

Winform从入门到精通(42)——ToolStripContainer(史上最全)

该控件提供了一个上、下、左、右、中,一共五个面板 在界面添加toolStrip1,如下图: 在界面添加toolStrip2,如下图: 在界面添加toolStrip3,如下图: 在界面添加toolStrip4,如下图: 整体效果如下: 这里没有先将ToolStripContainer放到窗体上,这是因为经过测试发现…

FFmpeg 安装和使用

首先下载 ffmpeg: https://www.gyan.dev/ffmpeg/builds/ 点击下载 截至到 2023/5/9 FFmpeg的最新版是 6.0 版本的,如果想要下载之前版本的也可以,我这里就下载6.0版本的了 下载完之后解压缩,进入 bin 目录就是 FFmpeg 的主体…

shell脚本中数组的运用

shell脚本中数组的运用 一、数组的介绍1、概念2、定义方法3、数组包括的数据类型 二、关于数组的操作1、获取数组长度2、获取数组各个元素的下标3、获取数组列表或单个元素4、对数组切片输出5、对数组里的元素替换6、删除单个元素或数组7、数组追加元素8、向函数传入数组的值 三…

基于遗传算法优化的核极限学习机(KELM)分类算法-附代码

基于遗传算法优化的核极限学习机(KELM)分类算法 文章目录 基于遗传算法优化的核极限学习机(KELM)分类算法1.KELM理论基础2.分类问题3.基于遗传算法优化的KELM4.测试结果5.Matlab代码 摘要:本文利用遗传算法对核极限学习机(KELM)进行优化,并用于分类 1.KE…

orin Ubuntu 20.04 配置 Realsense-ROS

librealsense安装 sudo apt-get install libudev-dev pkg-config libgtk-3-dev sudo apt-get install libusb-1.0-0-dev pkg-config sudo apt-get install libglfw3-dev sudo apt-get install libssl-dev sudo apt-get install ros-noetic-ddynamic-reconfiguresudo apt-key a…