新版Rstudio,几个有助于高效编程的小技巧

2023-11-28 00:50

本文主要是介绍新版Rstudio,几个有助于高效编程的小技巧,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

众所周知,月初的时候RStudio发布了1.0版本,引起了广大用户的关注与感慨,其中的多项重大亮点,大家都已经了解甚至试用了。


除了notebook这种大尺度的逆天功能,RStudio作为一个IDE,还拥有众多或许不为太多人知的小细节。但正是这一系列小心思,默默提升了广大分析师们的工作效率。


本文就是跟大家介绍其中的几个小技巧。全文内容照例由谷歌翻译,豹哥不负责审核。


1.可分离的窗格

用户可以将数据窗格和代码窗格从主界面中拆分出来,以减少在窗格之间的频繁切换。尤其是如果你有多个显示器,可以将不同的窗格拖动到不同的显示器窗口,逼格尽显。具体怎么用?直接按住窗格的名字来拖拽试试,更方便的是窗格的名字下方有个小图标,猛击它就可以直接拆分与还原。




2.历史命令检索

与很多命令工具一样,在R的控制台里面按向上箭头,可以召唤出之前使用过的命令语句,按一次出一句,如果命令太久远,真的会按到手酸。其实只要略加修改,使用Ctrl+↑,就可以直接显示出历史命令的列表,然后从中选择需要的语句来执行。更贴心的是,RStudio会基于当前控制台中已经输入的起始字符来自动筛选出符合条件的候选命令,再次简化了操作步骤。




3.历史记录窗格

历史记录窗格中显示了历史上执行过的命令列表(并且可以对其进行搜索)。选中的命令段可以直接写入控制台或代码窗格。从此再也不用从控制台中复制命令再粘贴到代码文件中啦。




4.批量重命名

顾名思义,就是同一个变量名在代码的很多位置重复出现,如果写着写着发现需要换个更合适的名字,就不用一个一个去编辑了(也不用Ctrl+F然后再按好多次回车键),而只需要选中需要修改的变量,然后在菜单栏中依次点击Code -> Rename in Scope(默认快捷键是Ctrl+Alt+Shift+M),就可以批量地进行重命名了。这个工具考虑了上下文,因此把变量a1修改为baoge并不会把变量a11误杀为baoge1。




5.notebook里的画廊视图和卫星视图

听起来很神秘?这是当notebook中的代码块产出多幅图形时会使用的展现模式。默认会使用画廊模式(注意不是发廊),即一行缩略图,在缩略图之间切换以查看大图。画廊可以再扩展成一个新的卫星窗口,以便进行更细致的浏览。(这个功能其实挺符合直觉的,感知不大强烈。)




6.代码大纲

如果代码很长,要滚动浏览就会有点花时间了。RStudio针对代码提供了一个大纲视图,适用于notebook的Rmd以及传统的R脚本。在代码窗格菜单栏的最右边按钮点击就可以展开大纲视图(或者使用快捷键Ctrl+Shift+O)。在大纲视图中点击分段标题,就可以导航到相应位置。如果是notebook,Rmd里面的段落标题就定义了大纲的分段;而对于传统的R脚本,则需要用段落注释来定义分段(在菜单栏中依次点击Code -> Insert Section,快捷键是Ctrl+Shift+R)。




7.预设代码块

有些常用代码已经成为了模板,可以利用预设代码块进行快捷的插入(就像预设的短信回复模板一样)。例如,输入fun,按Tab键,就会插入一段用于定义函数的代码框架。此时再按Tab键,还可以依次修改其中的关键元素。RStudio内置的代码模板已经挺多了,当然用户也可以自定义一些个性化的模板。




8.文件导航

大家都知道RStudio里通过Tab键就可以召唤出对函数和参数进行补全的各种选项。其实Tab键还可以帮助列出文件名,咱们就不用手动敲入那些冗长的文件路径了。这个技巧用起来也很自然,在一对双引号中间按下Tab键,就会打开一个简易的文件搜寻下拉框。


动图

9.查看函数的定义

想查看一个函数的内部结构,只要将鼠标点到这个函数上,敲击F2,就会跳转到定义该函数的语句。如果是某个附加包里的函数,则会打开一个新的窗格,展示该函数的定义。

这篇关于新版Rstudio,几个有助于高效编程的小技巧的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/428779

相关文章

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

深度解析Python装饰器常见用法与进阶技巧

《深度解析Python装饰器常见用法与进阶技巧》Python装饰器(Decorator)是提升代码可读性与复用性的强大工具,本文将深入解析Python装饰器的原理,常见用法,进阶技巧与最佳实践,希望可... 目录装饰器的基本原理函数装饰器的常见用法带参数的装饰器类装饰器与方法装饰器装饰器的嵌套与组合进阶技巧

在Golang中实现定时任务的几种高效方法

《在Golang中实现定时任务的几种高效方法》本文将详细介绍在Golang中实现定时任务的几种高效方法,包括time包中的Ticker和Timer、第三方库cron的使用,以及基于channel和go... 目录背景介绍目的和范围预期读者文档结构概述术语表核心概念与联系故事引入核心概念解释核心概念之间的关系

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

如何在Mac上彻底删除Edge账户? 手动卸载Edge浏览器并清理残留文件技巧

《如何在Mac上彻底删除Edge账户?手动卸载Edge浏览器并清理残留文件技巧》Mac上的Edge账户里存了不少网站密码和个人信息,结果同事一不小心打开了,简直尴尬到爆炸,想要卸载edge浏览器并清... 如果你遇到 Microsoft Edge 浏览器运行迟缓、频繁崩溃或网页加载异常等问题,可以尝试多种方

SpringMVC高效获取JavaBean对象指南

《SpringMVC高效获取JavaBean对象指南》SpringMVC通过数据绑定自动将请求参数映射到JavaBean,支持表单、URL及JSON数据,需用@ModelAttribute、@Requ... 目录Spring MVC 获取 JavaBean 对象指南核心机制:数据绑定实现步骤1. 定义 Ja

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

C++高效内存池实现减少动态分配开销的解决方案

《C++高效内存池实现减少动态分配开销的解决方案》C++动态内存分配存在系统调用开销、碎片化和锁竞争等性能问题,内存池通过预分配、分块管理和缓存复用解决这些问题,下面就来了解一下... 目录一、C++内存分配的性能挑战二、内存池技术的核心原理三、主流内存池实现:TCMalloc与Jemalloc1. TCM

mtu设置多少网速最快? 路由器MTU设置最佳网速的技巧

《mtu设置多少网速最快?路由器MTU设置最佳网速的技巧》mtu设置多少网速最快?想要通过设置路由器mtu获得最佳网速,该怎么设置呢?下面我们就来看看路由器MTU设置最佳网速的技巧... 答:1500 MTU值指的是在网络传输中数据包的最大值,合理的设置MTU 值可以让网络更快!mtu设置可以优化不同的网