R语言基础(二):常用函数

news2024/9/24 3:18:48

接前文:
R语言基础(一):注释、变量

3.常用函数

函数就是一些已经编写好的功能,我们拿过来直接使用就可以了。

3.1 查看变量ls()

也许你清空了控制台,看不到之前的变量。但是它一直存在于系统中。

我们可以使用ls()函数查看已经定义过的变量

(后续内容中:>开头的行是代码,[1]开头的行是运行结果,同学们在写代码的饿时候,不需要写每行开头的>)。

> x<-10
> y<-20
> ls()
[1] "x" "y"

3.2 删除变量rm()

通过rm(变量名)来删除一个变量。变量删除之后就不能使用了

> x<-20
> rm(x)
> x
错误: 找不到对象'x'

3.3 输出print()

print()函数用于在控制台进行输出

> x<-30
> print(x)
[1] 30

对于R语言,直接写一个值或者一个变量名,都可以直接在控制台输出:

> x<-40
> x
[1] 40
> 30
[1] 30

3.4 输入

很抱歉, R 语言没有专门再从控制台读取的函数。如果你用过python或者java,那么请转变一下思维方式。

3.5 字符串拼接cat()

将输出的结果进行拼接,使用cat()函数,多个值之间用逗号分开

> cat(1,"+",2,"=",3)
1 + 2 = 3> 
> cat(1,"+",2,"=",3,"\n")
1 + 2 = 3 
> 

可以看到,数字外面是没有双引号的,而其它字符必须用双引号包裹起来(具体会在数据类型一节中讲到)。

代码cat(1,"+",2,"=",3)执行后,可以看到输入光标>和结果在同一行,明没有再另起一行输入。而cat(1,"+",2,"=",3,"\n")执行后,输入光标>在下一行。

其中"\n"叫做转义字符。

转义字符是不能直接显示出来的字符,比如回车(Enter)、退格(Backspace)、制表符(Tab)。

常用的两个转义字符:

回车/换行:用\n表示,有时我们也会看到\r\r\n的写法,是因为不同系统对换行的解析不同(具体参考百度,此处不做赘述)。\r\n考虑到系统兼容的问题。知道他们都是换行就可以了。

制表符:\t,一般用于输出结果对齐(比如打印m行n列的数据,后续章节会介绍矩阵,此处先用两条输出语句代替),看下面代码:

> cat("hello","\t","R","\n")
hello    R 
> cat("hi","\t","R","\n")
hi       R 
> 

在“hello R ”和“hi R”中,可以看到两行中的"R"是垂直对齐的,我们用tab不用空格,因为用空格的话,需要自己数前面的“hello”和“hi”差几个字符的位置,而tab会自动缩进。用空格要写成下面这样:

> cat("hi   ","R","\n")
hi    R 
> cat("hello","R","\n")
hello R 
> 

3.6 读取文件readLines()

从文件中读取内容,用readLines()函数

readLines("d:/NameTest.java")

3.7 输出到文件sink()

sink(“文件名”)可以把控制台输出的文字直接输出到文件中去

> sink("D:/r.txt")  #开始向文件输出
> x<-10
> x  				#控制台不会显示,输出到文件中,应该输出10
> y<-1
> y  				#控制台不会显示,输出到文件中,应该输出1
> x+y				#控制台不会显示,输出到文件中,应该输出11
> sink()			#结束向文件输出,

可以看到d盘的r.txt下有如下内容

[1] 10
[1] 1
[1] 11

3.8 设置工作目录setwd()

通过setwd(“目录”)可以设置当前工作目录,当我们保存当前的工作区(你写的历史命令)时,会保存到这个目录下:

> setwd("D:/")  #设置工作区到d盘

3.9 获取当前目录getwd()

查看当前的工作区

> getwd()
[1] "D:/"

3.10 保存和加载工作空间

保存工作区,save.image(“文件名”)

> save.image("myfile.RData")  #保存到当前工作区的myfile中

ps:文件名“myfile.RData”中的.RData叫做文件拓展名,详情参考百度,不做赘述。

在3.8节我们设置工作区为D盘,所以此命令执行后,D盘下会出现一个文件

在这里插入图片描述

保存工作区的作用如下:

当你打开一个命令窗口,输入如下内容:

> x<-1
> y<-2
> ls()
[1] "x" "y"

x和y变量是存在的,如果不保存工作区,当你关掉这个窗口之后,再次打开R的运行面板,会出现如下情况

> ls()
character(0)

如果我们保存工作区:

> x=1
> y=2
> setwd("d:/")
> save.image("myfile.RData")

关闭此窗口,打开新窗口,使用load(“文件名”)来加载工作区

> setwd("d:/")
> load("myfile.RData")  #加载工作区文件
> ls()
[1] "x" "y"

实际上你ctrl+s快捷键也是可以保存的,或者点这个

在这里插入图片描述

加载工作区除了load()方法以外,还有:

在这里插入图片描述

3.11 保存脚本

工作空间是用来保存用户已经定义的变量,而我们在开发中,想要做的数对数据的运算,就是需要自己写函数(或算法),通俗的说就是你的代码。比如你代码写了一半,需要保存,下次继续写,或者你要把你写的代码发送给别人,这时我们就要把代码保存成“脚本文件”(script)。在编程中脚本=代码=程序

在这里插入图片描述

编辑窗口如下,ctrl+s保存,或点击菜单中的文件->保存。文件拓展名默认是.R

在这里插入图片描述

打开已经保存的脚本,可以点击下面的图标,或者在菜单中选择文件->打开程序脚本

在这里插入图片描述

文件菜单下面,还有一项运行R脚本文件,和打开程序脚本的区别是,运行R脚本只会在控制台打印运行结果,而打开程序脚本会打开脚本编辑框,可以对脚本进行改动。

在这里插入图片描述

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

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

相关文章

事件响应必备:DNS攻击与防御矩阵

攻击者采用了哪些DNS攻击技术&#xff0c;哪些组织可以帮助事件响应团队检测、缓解和预防这些技术&#xff1f;FIRST近日发布的DNS攻击与防御矩阵提供了答案。 DNS作为互联网基础架构的一项核心服务&#xff0c;安全问题严峻&#xff0c;各种攻击层出不穷。F5发布的数据显示&a…

项目管理手册

1 概述 1.1 项目管理体系 1.1.1 体系基础 项目管理体系是建立在公司 ISO 9000 质量管理体系基础上&#xff0c;结合 PMI 项目管理框架与 CMMI 能力成熟度模型&#xff0c;针对项目实施状态&#xff0c;对一些重点环节进行细化&#xff0c;加强重点环节的监控&#xff0c;明确…

Python导入模块的3种方式(超级详细)

很多初学者经常遇到这样的问题&#xff0c;即自定义 Python 模板后&#xff0c;在其它文件中用 import&#xff08;或 from...import&#xff09; 语句引入该文件时&#xff0c;Python 解释器同时如下错误&#xff1a; ModuleNotFoundError: No module named 模块名 意思是 Pyt…

VS2022安装EasyX 及 EasyX图形库安装和使用(附C++各图形编程项目示例源码)

文章目录一、EasyX的安装二、C_EasyX 项目1. 樱花2. 雪花3. 小熊4. 跳动爱心5. 橘子钟表6. 红玫瑰7. 奥特曼三、更多项目资源EasyX提取链接 网盘链接&#xff1a;https://pan.baidu.com/s/1gPtRVZub_008jwcK11Bb-g?pwd9ol9 提取码&#xff1a;9ol9 什么是EasyX&#xff1f; E…

GTC08L可替代启攀微八通道CP2528、CP2682

由工采网代理提供的八通道电容式触摸传感芯片—GTC08L可完美替代启攀微CP2528、CP2682、CP2688等多款八按键触摸芯片。 芯片介绍&#xff1a; GTC08L采用SOP-16L(9.90x3.90x1.40,e1.27) 封装&#xff1b;电源电压范围&#xff1a;2.7V&#xff5e;5.5V具有各种智能传感功能&…

使用JProfiler分析java oom dump文件

1、安装JProfiler&#xff08;本文使用JProfiler11&#xff09; 链接&#xff1a;https://pan.baidu.com/s/1VBHLIo8hIVGeeLjaBVjcIg 提取码&#xff1a;q5wl 在JProfiler的堆遍历器(Heap Walker)中&#xff0c;你可以对堆的状况进行快照并且可以通过选择步骤下寻找感兴趣的对…

一阶LADRC笔记代码实现

这两天看了一下LADRC的。学习深度不够&#xff0c;从理论和原理&#xff0c;没法评论什么。从个人感受上&#xff0c;它会从另一种角度去解释一些的控制的东西。从工程使用上&#xff0c;还是很有参考价值的&#xff0c;参数意义比较明确&#xff0c;整定参数比较容易。 参考&…

Javaweb MVC模式和三层架构

MVC 模式和三层架构是一些理论的知识&#xff0c;将来我们使用了它们进行代码开发会让我们代码维护性和扩展性更好。 7.1 MVC模式 MVC 是一种分层开发的模式&#xff0c;其中&#xff1a; M&#xff1a;Model&#xff0c;业务模型&#xff0c;处理业务 V&#xff1a;View&am…

沃隆食品冲刺上市:业绩整体呈下滑态势,红杉资本提前退出投资

近日&#xff0c;“每日坚果”的缔造者——青岛沃隆食品股份有限公司&#xff08;下称“沃隆食品”&#xff09;平移提交招股书&#xff0c;准备在上海证券交易所主板上市。本次冲刺上市&#xff0c;沃隆食品计划募集7.00亿元&#xff0c;中信证券为其保荐机构。 沃隆食品在招…

面试必看:谈谈你所了解的JVM调优,JVM性能调优总结

文章目录从面试角度来谈谈你了解的JVM调优GC调优的步骤1.确定目标&#xff1a;2.优化参数3.验收优化结果GC优化案例一、Major GC和Minor GC频繁优化Minor GC频繁问题&#xff1a;1.可以适当增大新生代的内存二、请求高峰期发生GC&#xff0c;导致服务可用性降低优化标记停顿时间…

第55章 头像图片的前端渲染显示

1 WebApi.Controllers.CustomerController.GetCustomerByToken /// <param name"token">1个指定的令牌字符串。</param> /// <summary> /// 【通过令牌获取用户-无需权限】 /// </summary> /// <remarks> /// 摘要&#xff1a; /// …

【Python】装饰器

一、装饰器的作用 装饰器能够为已经存在的对象添加额外的功能。 二、什么是装饰器 装饰器本质是一个python函数&#xff0c;它可以让其他函数在不需要做任何代码变动的前提下增加额外功能&#xff0c;装饰器的返回值也是一个函数对象。 三、装饰器的应用场景 插入日志、性能…

在云服务器安装tomcat和mysql

将 linux 系统安装包解压到指定目录进入 bin 目录执行./startup.sh 命令启动服务器执行./shutdown.sh 关闭服务器在浏览器中访问虚拟机中的 tomcat ip端口具体操作入下解压tomcat压缩包解压&#xff0c;输入tom按table键自动补全tar -zxvf 启动tomcat进入bin目录在linux启动to…

debian11安装Nvidia驱动及Docker运行

文章目录前言硬件及软件环境驱动下载驱动安装禁用xserver禁用nouveau安装依赖设置可执行并运行检查安装结果Docker配置Docker安装nvidia-container-runtime安装[^4]命令脚本内容执行脚本安装 nvidia-container-runtime检测Docker gpu 验证卸载指令总结异常处理参考链接前言 博…

Spring Boot+Vue前后端分离项目练习07之网盘项目注册登陆页面实现

1.Axios安装和接口封装 Axios是一个易用、简洁且高效的http库&#xff0c; 使用Promise管理异步&#xff0c;支持请求和响应拦截器&#xff0c;自动转换JSON数据等高级配置&#xff0c;是在vue项目中十分常见前端请求库&#xff0c;使用以下指令安装。 npm install axiosnpm …

工作中git常用操作

前言 在各种版本并行&#xff0c;需求不断迭代的过程中&#xff0c;我们经常会遇到各种打断开发的场景&#xff1a; 场景一&#xff1a;当前版本功能开发到一半&#xff0c;上级临时要求去修复某个线上bug&#xff1f;你能说不吗&#xff0c; 那当然绝对服从组织安排 &#x…

代码随想录算法训练营day54 | 动态规划之子序列 392.判断子序列 115.不同的子序列

day54392.判断子序列1.确定dp数组&#xff08;dp table&#xff09;以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺序5.举例推导dp数组115.不同的子序列1.确定dp数组&#xff08;dp table&#xff09;以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺…

[2.2.3]进程管理——调度算法的评价指标

文章目录第二章 进程管理调度算法的评价指标&#xff08;一&#xff09;CPU利用率&#xff08;二&#xff09;系统吞吐量&#xff08;三&#xff09;周转时间&#xff08;四&#xff09;等待时间&#xff08;五&#xff09;响应时间小结第二章 进程管理 调度算法的评价指标 CP…

861. 翻转矩阵后的得分

861. 翻转矩阵后的得分https://leetcode.cn/problems/score-after-flipping-matrix/ 难度中等236 给你一个大小为 m x n 的二元矩阵 grid &#xff0c;矩阵中每个元素的值为 0 或 1 。 一次 移动 是指选择任一行或列&#xff0c;并转换该行或列中的每一个值&#xff1a;将所…

【Flutter】开发环境配置:FlutterSDK、Android SDK、iOS SDK

文章目录 一、前言二、Dart和Flutter的关系三、本地开发环境配置1.FlutterSDK2.配置镜像站3.安装安卓工具链4.安装XCode5.Dart 配置四、配置完成五、总结一、前言 在前面的课程中,我们学习了Dart语言的基本用法,并在DartPad线上环境对代码执行。 接下来,我们学习如何在本地…