r语言中赋值符号快捷键,大数据分析R语言RStudio使用教程
关于【r语言中赋值符号快捷键】,今天乾乾小编给您分享一下,如果对您有所帮助别忘了关注本站哦。
1、r语言中赋值符号快捷键:大数据分析R语言RStudio使用教程
1.在窗口窗格之间快速导航
RStudio窗格可让您访问有关项目的重要信息。知道如何在窗格之间切换而无需触摸鼠标来移动光标将节省时间并改善工作流程。使用这些快捷方式可以在窗格之间即时移动:
1)Control/Ctrl + 1:源代码编辑器(您的脚本)
2)Control/Ctrl + 2: 安慰
3)Control/Ctrl + 3: 救命
4)Control/Ctrl + 4:历史
5)Control/Ctrl + 5:文件
6)Control/Ctrl + 6:情节
7)Control/Ctrl + 7:套餐
8)Control/Ctrl + 8: 环境
9)Control/Ctrl + 9:查看者
如果您希望一次只看到一个窗格,请添加Shift到上述任何命令中以最大化窗格。例如,输入Control/Ctrl + Shift + 1以最大化您正在使用的R脚本,笔记本或R Markdown文件。
(旁注:+我们在快捷方式中显示的意思是“和”,因此不需要实际键入+键。)
但是,如果您想返回标准的四窗格视图怎么办?没问题!输入Control/Ctrl + Shift + 0:
2.键盘快捷键
了解RStudio键盘快捷键将在编程时节省大量时间。RStudio提供了许多有用的快捷方式,您可以通过顶部的菜单访问它们Tools > Keyboard Shortcuts Help。
访问RStudio键盘快捷键的另一种方法是使用快捷键!要访问快捷方式,请Option + Shift + K在Mac或Alt + Shift + KLinux和Windows上输入。
以下是一些我们最喜欢的RStudio快捷方式:
1)在Mac或Linux和Windows上,将<-赋值运算符插入。Option + -Alt + -
2)插入管道运营商%>%与Command + Shift + M在Mac上,或Ctrl + Shift + M在Linux和Windows。
3)Command + Enter在Mac或Control + EnterLinux和Windows 上运行当前代码行。
4)Command + A + Enter在Mac或Control + A + EnterLinux和Windows 上使用运行所有代码行。
5)重新启动当前的R会话,然后Command + Shift + F10在Mac或Control + Shift + F10Linux和Windows上重新开始。
6)Command + Shift + C在Mac或Control + Shift + CLinux和Windows 上使用注释或取消注释行。
7)试图记住您之前提交的命令吗?Command + [up arrow]在Mac或Control + [up arrow]Linux和Windows 上,从控制台搜索命令历史记录。
还有许多有用的快捷方式可用,但是通过掌握上述快捷方式,您将成为RStudio高级用户!
RStudio快捷方式的另一个重要资源是此处提供的官方RStudio备忘单。
3.通过代码完成节省时间
开始键入后,将弹出一个建议窗口,其中包含匹配的函数,对象和代码片段名称。您可以使用向上或向下箭头在列表中切换,然后单击return/Enter以进行选择。
另外,您可以利用称为模糊匹配的非常酷的功能,该功能使您可以通过输入与匹配项唯一的字母来缩小搜索范围。您不需要输入所有字母,只要您输入的内容与字符串的顺序匹配即可。
让我们看一下这些代码完成方法是如何工作的。首先,我们将installed.packages()通过键入部分函数名称来选择函数,然后使用箭头进行选择。接下来,我们将使用模糊匹配仅输入instd以进一步缩小选择范围:
4.快速查找文件和功能
在RStudio中,无需摸索文件夹结构来查找文件,也无需挖掘功能!输入快捷方式control/ctrl + .以打开Go to File/Function窗口,然后使用模糊匹配技能来缩小选择范围:
5.自定义外观
RStudio提供了大量选项,可根据您的喜好自定义外观。在RStudio标签下,导航以Preferences > Appearance浏览许多可用选项。RStudio的一个不错的功能是您可以快速单击Editor theme窗口以预览每个主题。
6.轻松链接到文档
在Help右下方窗口的标签下,您会找到指向R函数和R软件包在线文档的便捷链接。例如,如果我们install.packages()使用搜索栏搜索有关功能的信息,则返回官方文档:
我们还可以在Help选项卡中访问文档,方法是在软件包或函数之前添加?,例如,?install.packages然后在控制台中运行命令。无论使用哪种方法,RStudio都会在您键入时自动填充匹配的函数名称!
7.预览并保存您的绘图
在RStudio会话期间生成的图将显示在Plots右下方窗口的选项卡下。在此窗口中,您可以通过放大和缩小来检查图。如果要保存绘图,则可以将绘图另存为PDF或图像文件。
8.导入和预览数据集
RStudio使导入和预览数据集变得容易,无需编码!在Environment右上方窗口的选项卡下,具有使您可以导入数据集的功能。此功能支持多种格式:
您甚至可以在加载数据集之前对其进行预览:
在将数据集加载到RStudio中之后,您可以使用View()命令或单击数据集的名称来查看它:
9.一键查看命令历史记录
之前,我们从控制台学习了命令历史记录的快捷方式。RStudio还使您可以通过单击History选项卡在右上窗口中查看整个命令历史记录:
10.保存您的“真实”工作。删除其余的。
练习良好的内务管理,避免将来遇到不可预见的挑战。如果创建值得保存的R对象,请在R脚大数据分析R语言RStudio使用教程件中捕获生成该对象的R代码。保存R脚本,但不要保存创建对象的环境或工作空间。
为防止RStudio保存工作区,请打开Preferences > General并取消选择.RData在启动时还原到工作区的选项。确保指定您永远不要保存工作空间,如下所示:
现在,每次打开RStudio时,都会从一个空会话开始。您以前的会话生成的代码都不会被记住。R脚本和数据集可用于从头开始重新创建环境。
11.组织项目工作
RStudio提供了强大的功能,可让您保持井井有条;项目。在进行多个分析时,保持有条理很重要。RStudio的项目使您可以将所有重要工作放在一个地方,包括代码脚本,绘图,图形,结果和数据集。
导航到FileRStudio中的选项卡,然后选择,创建一个新项目New Project...。您可以选择在新目录或现有目录中创建新项目。如果您使用的是R软件包或Shiny Web应用程序,则RStudio提供专用的项目类型。
当您需要与同事共享工作时,RStudio项目非常有用。您可以将项目文件(以结尾.Rproj)与所有支持文件一起发送,这将使您的同事更轻松地重新创建工作环境并重现结果。
但是,如果您希望进行无缝协作,则可能需要将软件包管理引入工作流程中。幸运的是,RStudio提供了一个有用的软件包管理工具renv,该工具现已与RStudio项目兼容。renv接下来我们将介绍。
12.使用renv管理软件包版本
我们很喜欢AAA教育的R,但是管理程序包版本可能是一个挑战!幸运的是,得益于RStudio 的renv(“可复制环境”)软件包,R软件包管理比以往任何时候都容易。现在,RStudio包含对的内置支持renv。
renv在本大数据分析R语言RStudio使用教程中,我们不会详细介绍如何与RStudio项目一起使用,因为RStudio在我们提供的链接和小插图中为您提供了所需的信息。但是,renv与RStudio一起使用可以使R包管理更加容易,所以我们想告诉您!
该renv软件包将替代RStudio曾经维护的Packrat软件包。
要使用renv与您的RStudio项目包升级到RStudio的最新版本,然后安装renv与包library("renv")。从那里,您可以选择renv与所有新项目一起使用:
如果您想renv与现有项目一起使用,请浏览Tools > Project Options > Environments并选中相应的框以启用renv:
13.在RStudio中使用GitHub管理版本控制
除了在RStudio中管理软件包外,您还可以将GitHub与RStudio一起使用,以维护项目和R脚本的版本控制。看看这篇文章从GitHub和这篇文章从RStudio所有你需要的Git集成到您的工作流程RStudio的信息。
14.代码段
RStudio提供了一个非常有用的功能,用于插入称为代码段的通用代码块。我们的最爱之一是该lib代码段,可在调用library()函数加载R包时为您节省一些输入时间:
按下return键以选择代码段后,library()函数将被加载并且光标已定位,因此您可以立即开始输入要加载的包的名称:
我们另一个喜欢的fun片段是提供用于编写自定义函数的基本模板的片段。您甚至可以添加自己的代码段!要了解更多信息,请查看这篇文章从RStudio代码片段。
15.深入研究函数的源代码
如果您想研究某个函数的源代码,请将光标移至所需的函数并输入F2(在Mac上,您可能需要输入fn + F2)。此功能甚至适用于从您使用的任何R包加载的功能。
16.函数提取
如果您已经编写了要转换为功能的代码块,请突出显示该代码块,然后control + option X在Mac Ctrl + Alt + X上的Linux / Windows上输入。将会出现一个弹出窗口,要求您选择一个函数名称。
选择功能名称后,将代码自动添加为功能所需的输入和代码结构。
如果您有要提取的变量,请突出显示该变量,然后control + option V在Mac Ctrl + Alt + V上的Linux / Windows上输入。
17.重命名范围
在某些时候,您可能需要更改函数名称或其中一个函数中使用的变量。但是使用查找和替换来执行此操作可能会令人不安!幸运的是,RStudio可以在范围内重命名。这意味着您的更改将仅限于感兴趣的变量或功能。大数据分析R语言RStudio使用教程https://www.aaa-cg.com.cn/data/2394.html这样可以防止您意外替换代码脚本中其他位置的同名变量。要使用此功能,请选择要更改的函数或变量,然后control + shift + option + M在Mac或Ctrl + Shift + Alt + MLinux / Windows上输入。
18.多光标支持
RStudio支持多个光标。按住optionMac或AltWindows / Linux时,只需单击并拖动鼠标。
19.将Python与RStudio一起使用并网状
RStudio支持python编码。 在RStudio中启动并运行python的过程涉及以下常规步骤:
安装基本版本的Python
安装pip和virtualenv
在RStudio项目中创建Python环境
激活您的Python环境
在您的环境中安装所需的Python软件包
安装并配置R Reticulate软件包以使用Python
大数据分析R语言RStudio使用教程提供了上述步骤所需的代码。 我们尝试了一下,仅用了几分钟就可以在RStudio中运行python了:
20.使用DBI包查询SQL
有很多方法可以在RStudio中运行SQL查询。 从R的DBI包开始,以下是三种最受欢迎的方法。
首先,生成一个内存中的SQL数据库,以在所有SQL查询示例中使用。 您将生成一个著名的“ mtcars”数据集的SQL数据库。 这是代码:
现在编写一个SQL查询,以使用四缸引擎从数据库中选择所有汽车。此命令返回一个数据框,您将另存为dbi_query:
数据框如下所示:
21.使用R Markdown或使用R Notebook查询SQL
通过创建{sql}代码块,可以在R Notebook或R Markdown中获得相同的结果。 使用第一个示例中的连接和数据库,运行以下代码:
指定output.var =“ mt_cars_df”将查询结果保存到数据框。此数据框是标准R数据框,与您在前面的示例中生成的数据框相同。 您可以在R代码块中使用此数据帧来执行分析或生成ggplot,例如:
22.使用dbplyr查询SQL
最后,您将使用dbplyr软件包编写标准的dplyr命令,这些命令将转换为SQL! 再次使用第一个示例中的连接和数据库,您可以编写一个标准filter()调用来查询具有四个汽缸的汽车,这将返回一个列表对象:
如果要查看此命令转换为的SQL代码,可以使用dbplyr中的show_query()函数:
对查询结果满意后,可以使用dbplyr中的collect()函数将结果另存为数据框:
你有它! 查询具有类似结果的SQL数据库的三种不同方法。 示例之间的唯一区别是dbplyr方法返回一个小标题,而前两个方法返回一个标准R数据帧。
要了解有关使用RStudio查询SQL数据库的更多信息,请查阅大数据分析R语言RStudio使用教程。
23.将它带到云端!
RStudio现在提供了一个名为RStudio Desktop的基于云的版本,您猜对了……RStudio Cloud。 RStudio Cloud允许您在RStudio中进行编码,而无需安装软件,只需要一个Web浏览器。
RStudio Cloud中的工作被组织到类似于桌面版本的项目中,但是RStudio Cloud使您可以指定希望用于每个项目的R版本。
RStudio Cloud还可以轻松,安全地与同事共享项目,并确保每次访问项目时都能完全再现工作环境。
如您所见,RStudio Cloud的布局与RStudio Desktop非常相似:
相关推荐
大数据分析R Markdown的使用技巧
大数据分析使用numpy在pandas dataframe上添加列
大数据分析Python PyAudio库语音API转文字教程
大数据分析师面试求职攻略
大数据分析机器学习的数据清理和准备
0基础小白必知的10种机器学习算法
2、r语言中赋值符号快捷键,你知道R中的赋值符号箭头
作为一门高级语言,R语言拥有独特的语法,比如今天说道的赋值符号在其他语言里,赋值符合通常用一个等号(=)表示,而在R语言里,承担这个任务的可以是箭头(<-)符号,也可以是等号(=)这就导致许多R语言初学者,分不清R语言中的赋值到底是使用箭头(<-)还是等号(=)?许多早期学习R的童鞋都比较喜欢使用等号(=)进行赋值毕竟,简简单单的a = 5用起来比较符合大多数现有语言的习惯出于对某种赋值方式的偏好,甚至出现了等号党和箭头党,但是到底孰好孰坏,显然争不出任何结果,相对来说更重要的是了解这两者的区别只有我们深刻理解了其相同与不同之后,才能更好的运用他们,现在小编就来说说关于r语言中赋值符号快捷键?下面内容希望能帮助到你,我们来一起看看吧!
r语言中赋值符号快捷键
作为一门高级语言,R语言拥有独特的语法,比如今天说道的赋值符号。在其他语言里,赋值符合通常用一个等号(=)表示,而在R语言里,承担这个任务的可以是箭头(<-)符号,也可以是等号(=)。这就导致许多R语言初学者,分不清R语言中的赋值到底是使用箭头(<-)还是等号(=)?许多早期学习R的童鞋都比较喜欢使用等号(=)进行赋值。毕竟,简简单单的a = 5用起来比较符合大多数现有语言的习惯。出于对某种赋值方式的偏好,甚至出现了等号党和箭头党,但是到底孰好孰坏,显然争不出任何结果,相对来说更重要的是了解这两者的区别。只有我们深刻理解了其相同与不同之后,才能更好的运用他们。
R语言最开始设计的时候,是采用箭头(<-)作为赋值符号的,这是从APL语言继承而来的(箭头表示赋值,等号表示判断)。之后的S语言也沿用了这个用法,再之后R语言为了保持和S语言的兼容性保留了这个箭头。直到2001年,R的更新版本中 才加入了等号(=)赋值。因此,对于一般的赋值语句,箭头(<-)与 等号(=)在 功能上是没有区别的,可以通用。但是等号(=)的作用有两个:它既可以赋值,也可以传递函数参数(实际上传参可以看作一种特殊形式的赋值,给参数赋值)。通常情况下,如果等号(=)出现在单独的环境中,它就是赋值;如果写在函数的参数位置,它就是传参。如果你在设置参数的时候使用了箭头(<-),那么你会发现在全局变量里,会多出一个和参数名相同的赋值的变量,容易导致歧义和错误,而且占用命名空间。
下面,我们通过几个个例子来具体讲一下这两个函数的区别。
- 箭头(<-)和等号(=)赋值在作用域上的不同。箭头(<-)创建的变量的作用范围为整个全局环境(Global environment),而等号(=)通常在一个局部环境(Local environment)。例如:
- > rm(x) ## 如果变量 x 存在的话,先删除此变量 > mean(x = 1:10) [1] 5.5 > x Error: object 'x' not found
- 在以上范例里,变量 x 是在函数的作用域里进行声明的,所以它只存在于此函数中,一旦运算完成便“消失”。
- > mean(x <- 1:10) [1] 5.5 > x [1] 1 2 3 4 5 6 7 8 9 10
- 而采用箭头(<-)赋值,x 变量则出现在了Global Environment 里,并且我们可以调用它。 在此例中,实际上是先构建了x变量,再将x传递给mean函数的第一个参数,我们看到,采用这种方式,程序也正确运行了,但是采用箭头(<-)赋值的方式去传参时要非常小心。可以看下面例子中引起错误地情况。
- 箭头(<-)和等号(=)在参数传递时的区别
- > x <- rnorm(100) # 采用箭头(<-)进行变量赋值 > y <- 2*x rnorm(100) # 采用箭头(<-)进行变量赋值 > lm(formula=y~x) #上面的代码完全等价于下面的代码 > x = rnorm(100) # 采用等号(=)进行变量赋值 > y = 2*x rnorm(100) # 采用等号(=)进行变量赋值 > lm(formula=y~x)
- 两段代码中前两行都是赋值语句,分别为x变量和y变量赋值,此时等号(=)与箭头(<-)的功能相同,作用域也相同,因为等号(=)赋值是在全局环境中进行的,而代码第三行中的等号(=)则是调用函数时规定命名参数,这就是通常情况下,我们直接将y~x这个公式直接传递给lm函数的第一个参数,也就是formula参数的用法。如果此时我们将等号(=)替换成箭头(<-),则会在全局环境中定义出一个新的formula变量,然后再将这个变量传递给了lm函数的第一个参数。如果是我们有意这么做的话,就需要保证命名参数的顺序和函数中定义参数的顺序相同,否则就会出现错误,或者将名称相同的变量传递给了错误的参数(但程序可能正常运行),导致结果错误。下面的例子可以突出了这种差别:
- > x <- rnorm(100) > y <- 2*x rnorm(100) > z <- 3*x rnorm(100) > data <- data.frame(z,x,y) > rm(x, y, z)
- 此时,环境中已经没有x,y,z变量,就只有变量data可以用来做z~x y的线性回归。标准写法:
- > lm(formula=z~x y,data = data) #也可以写成如下形式: > lm(data=data,formula=z~x y)
- 当我们将等号(=)替换成箭头(<-)时,正确的命名参数传递应该按函数参数顺序来逐个传参:
- > lm(formula <- z~x y, data <- data) Call: lm(formula = formula <- z ~ x y, data = data <- data) Coefficients: (Intercept) x y 0.069869 3.062565 0.007503 > formula z ~ x y
- 运行也不会出错,但是我们会发现函数实际上是调用的lm(formula = formula <- z ~ x y, data = data <- data),这时产生了一个新的变量formula到环境中,并且在全局环境中就可以使用(实际上data变量也被更新了)。但是如果我们对lm函数的参数顺序不了解或者由于马虎搞错了参数顺序,这个时候就会容易出现错误。
- #错误的写法: > lm(data <- data,formula <- z~x y) Error in as.data.frame.default(data) : cannot coerce class ""formula"" to a data.frame
- 执行时会报告异常,说明data被当作第一个参数formula传递,而formula被当作第二个参数data传递,而参数类型不匹配因而导致异常。因此,在函数的命名参数传递时,尽量不要用箭头(<-),因为既会产生副作用(创建新变量),也无法利用命名参数传递的功能。上面的例子是程序提示了错误,但是有时候程序并不一定会提示错误,就很容易让我们忽视结果实际上是错误的结果。例如:我们构建矩阵时,
- # 构建一个3列的矩阵 > matrix(c(1:12),ncol=3) [,1] [,2] [,3] [1,] 1 5 9 [2,] 2 6 10 [3,] 3 7 11 [4,] 4 8 12 > matrix(c(1:12),ncol<-3) [,1] [,2] [,3] [,4] [1,] 1 4 7 10 [2,] 2 5 8 11 [3,] 3 6 9 12
- 我们可以看到,尽管两种方法,都运行成功,且得到了一个矩阵,但是第二个结果是一个错误的结果,此处出错的原因就是,ncol<-3是将3赋值给变量ncol,然后再传递给函数对应位置的参数,而在函数内第二个参数实际上是对应的nrow参数。在实际编写代码时,遇到这种情况,如果我们不注意,就会导致后续所有结果都出错。
- 此外,还需要注意的一点就是,在传参中采用箭头(<-)进行赋值的变量只有在需要使用时才会改变其值。例如:
- > a <- 1 > f <- function(x) return(TRUE) > f(a <- a 1); a [1] TRUE [1] 1
- 请注意,以上范例里, a 的值并没有改变,也就是a并没有加1,还是原来的a值,这是在函数内部并未用到参数a。这会导致程序里出现一些不可预期的结果并且降低代码可读性,所以不推荐在函数参数里使用箭头(<-)这种赋值方式。在看下面的例子:
- > a <- 1 > f <- function(x) { if(runif(1)>0.5) TRUE else print(x) } > f(a <- a 1);a [1] TRUE [1] 1 > f(a <- a 1);a [1] TRUE [1] 1 > f(a <- a 1);a [1] TRUE [1] 1 > f(a <- a 1);a [1] 2 [1] 2 > f(a <- a 1);a [1] TRUE [1] 2 > f(a <- a 1);a [1] 3 [1] 3
- 上述代码中,向函数 f() 传递传递参数 a <- a 1 后,只有在随机数 runif(1) 小于0.5的时候,a 的值才会改变,即执行 1操作,然后打印a。否则传递TRUE值。因此,因为随机数 runif(1) 的随机性,每次调用函数 f()后 a 的值是不确定的。
现在大家应该清楚了解箭头(<-)和等号(=)的区别了吧!个人建议,大家写赋值语句时采用箭头(<-),传参时使用等号(=)。这也是大部分老师都会强烈推荐的用法。是因为使用箭头(<-)赋值,意义清晰,可以保持代码良好的可读性,尤其是书写复杂函数时,避免造成混乱。Google 的 R style guide(https://google.github.io/styleguide/Rguide.xml)也推荐使用箭头(<-)赋值。 况且有些情况下,只能采用箭头(<-)赋值,例如:system.time(c<-1:10)中就不能使用等号(=)。而从数学的角度来说,等号两边是相等的,即等号左边的等于等号右边的,等号右边的也等于等号左边的。等号本身并没有指向性,因此并没有办法体现”赋值“这一含义。而在R中,箭头(<-)符号生动的阐释了赋值的含义,一个非等号(=)的赋值符从根本上向学习者暗示这样一个真理: 赋值操作与数学上的等于是完全不同的。此外,箭头(<-)符号可以双向赋值,即x <- 10与10 -> x等价。习惯 <- 和 -> 的使用以后,也对后来习惯使用更为复杂的 <<- 以及 ->> 这两个赋值符号(<<-或->>一般用于函数内部,表示给上一层环境中的变量赋值)做好铺垫,而 =无法实现类似的功能。
另外也有等号党提出异议,认为采用箭头(<-)不如使用等号(=)。例如:如果我想判断一个变量是否小于10,可以写成 x<10;如果我想判断一个变量是否小于-10,然后顺手写成x<-10,这时候就会产生歧义。关于处理负数时产生歧义的说法,只能说是没有正确养成良好的空格习惯造成的,句号逗号后加空格,括号外围加空格,运算符号两边加空格,这些应该是学习代码前就应该懂得的常识。会犯出 a <- 5 和 a < -5 混淆的错误只能说明自己的代码风格糟糕,建议大家Google 的 R style guide(https://google.github.io/styleguide/Rguide.xml )中其他的一些代码写作规则。
Reference
- https://www.cnblogs.com/loca/p/4301344.html
- https://google.github.io/styleguide/Rguide.xml
- http://stat.ethz.ch/R-manual/R-patched/library/base/html/assignOps.html
- https://stackoverflow.com/questions/1741820/what-are-the-differences-between-and-in-r
- http://bbs.pinggu.org/thread-1247151-1-1.html
- https://cran.r-project.org/doc/manuals/R-lang.html#Argument-matching
本文关键词:r语言 ~符号,r语言如何将字符型赋值为数值型数据,r语言赋值公式左手不对,r语言赋值向量,r语言如何赋值给变量。这就是关于《r语言中赋值符号快捷键,大数据分析R语言RStudio使用教程》的所有内容,希望对您能有所帮助!更多的知识请继续关注《犇涌向乾》百科知识网站:http://www.029ztxx.com!
版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。