在使用 R 时会发生什么?

简介:

R 二进制文件可用于 Windows、Mac OS X 和多个 Linux® 发行版。源代码也可供人们自行编译。

在 Windows® 中,安装程序将 R 添加到开始菜单中。要在 Linux 中启动 R,可打开一个终端窗口并在提示符下键入 R。您应看到类似图 1 的画面。

R

图 1. R 工作区

在提示符下键入一个命令,R 就会响应。

此时,在真实的环境中,您可能会从一个外部数据文件将数据读入 R 对象中。R 可从各种不同格式的文件读取数据,但对于本示例,我使用的是来自 MASS 包的 michelson 数据。这个包附带了 Venables and Ripley 的标志性文本 Modern Applied Statistics with S-Plus(参见 参考资料)。michelson 包含来自测量光速的流行的 Michelson and Morley 实验的结果。

清单 1 中提供的命令可以加载 MASS 包,获取并查看 michelson 数据。图 2 显示了这些命令和来自 R 的响应。每一行包含一个 R 函数,它的参数放在方括号 ([]) 内。

清单 1. 启动一个 R 会话

    2+2             # R can be a calculator. R responds, correctly, with 4.
    library("MASS") # Loads into memory the functions and data sets from 
                    # package MASS, that accompanies Modern Applied Statistics in S

    data(michelson) # Copies the michelson data set into the workspace.

    ls()            # Lists the contents of the workspace. The michelson data is there.

    head(michelson) # Displays the first few lines of this data set.
                    # Column Speed contains Michelson and Morleys estimates of the 
                    # speed of light, less 299,000, in km/s.
                    # Michelson and Morley ran five experiments with 20 runs each.
                    # The data set contains indicator variables for experiment and run.
    help(michelson) # Calls a help screen, which describes the data set.

图 2. 会话启动和 R 的响应

R

现在让我们看看该数据(参见 清单 2)。输出如 图 3 中所示。

清单 2. R 中的一个箱线图

    # Basic boxplot

    with(michelson, boxplot(Speed ~ Expt)) 

    # I can add colour and labels. I can also save the results to an object.

    michelson.bp = with(michelson, boxplot(Speed ~ Expt, xlab="Experiment", las=1, 
                    ylab="Speed of Light - 299,000 m/s", 
                    main="Michelson-Morley Experiments",
                    col="slateblue1")) 
                 
    # The current estimate of the speed of light, on this scale, is 734.5
    # Add a horizontal line to highlight this value.

    abline(h=734.5, lwd=2,col="purple")  #Add modern speed of light

Michelson and Morley 似乎有计划地高估了光速。各个实验之间似乎也存在一定的不均匀性。

图 3. 绘制一个箱线图

R

在对分析感到满意后,我可以将所有命令保存到一个 R 函数中。参见清单 3。

清单 3. R 中的一个简单函数

    MyExample = function(){
        library(MASS)
        data(michelson)
        michelson.bw = with(michelson, boxplot(Speed ~ Expt, xlab="Experiment", las=1, 
        ylab="Speed of Light - 299,000 m/s", main="Michelsen-Morley Experiments", 
            col="slateblue1"))
        abline(h=734.5, lwd=2,col="purple")

    }

这个简单示例演示了 R 的多个重要功能:

保存结果—boxplot() 函数返回一些有用的统计数据和一个图表,您可以通过类似 michelson.bp = … 的负值语句将这些结果保存到一个 R 对象中,并在需要时提取它们。任何赋值语句的结果都可在 R 会话的整个过程中获得,并且可以作为进一步分析的主题。boxplot 函数返回一个用于绘制箱线图的统计数据(中位数、四分位等)矩阵、每个箱线图中的项数,以及异常值(在 图 3 中的图表上显示为开口圆)。请参见图 4。

图 4. 来自 boxplot 函数的统计数据

R

公式语言— R(和 S)有一种紧凑的语言来表达统计模型。参数中的代码 Speed ~ Expt 告诉函数在每个 Expt (实验数字)级别上绘制 Speed 的箱线图。如果希望执行方差分析来测试各次实验中的速度是否存在显著差异,那么可以使用相同的公式:lm(Speed ~ Expt)。公式语言可表达丰富多样的统计模型,包括交叉和嵌套效应,以及固定和随机因素。

用户定义的 R 函数— 这是一种编程语言。


本文作者:佚名

来源:51CTO

相关文章
|
5月前
|
Serverless
函数计算在执行请求的过程中遇到了意外的错误
函数计算在执行请求的过程中遇到了意外的错误
62 1
|
27天前
|
关系型数据库 MySQL 测试技术
当update修改数据与原数据相同时会再次执行吗
当update修改数据与原数据相同时会再次执行吗
23 1
|
6月前
|
数据库连接 API Nacos
Nacos在启动时会检查数据库连接,如果连接失败,它会抛出一个异常并退出
Nacos在启动时会检查数据库连接,如果连接失败,它会抛出一个异常并退出
109 7
|
6月前
|
消息中间件 架构师 数据处理
处理数据时点按钮,数据完数据时会自动执行的问题
处理数据时点按钮,数据完数据时会自动执行的问题
|
人工智能 JavaScript IDE
自动写代码?别闹了!
这几天,GitHub 上有个很火的插件在抖音刷屏了——Copilot。 这个神器有啥用呢?简单来讲,它就是一款由人工智能打造的编程辅助工具。 我们来看看它有啥用。
314 0
缓冲区提前释放,导致H264保存及播放错误
缓冲区提前释放,导致H264保存及播放错误
64 0
on方法多次绑定会多次执行的解决方法
on方法多次绑定会多次执行的解决方法
99 0
|
物联网 Linux 开发者
线程被取消的时候执行清理函数|学习笔记
快速学习线程被取消的时候执行清理函数
80 0
线程被取消的时候执行清理函数|学习笔记
|
Java 调度
taskfactory默认执行慢的问题
Task.Factory.StartNew不是直接创建线程,创建的是任务,它有一个任务队列,然后通过任务调度器把任务分配到线程池中的空闲线程中,如果任务的数量比线程池中的线程多,线程池的线程数量还没有到达上限,就会创建新线程执行任务。如果线程池的线程已到达上限,没有分配到线程的任务需要等待有线程空闲的时候才执行。
222 0

热门文章

最新文章