在使用 R 时会发生什么?

大数据
备注:本文不是一部 R 教程。下面的示例仅试图让您了解 R 会话看起来是什么样的。

备注:本文不是一部 R 教程。下面的示例仅试图让您了解 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.***dd 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 函数— 这是一种编程语言。

责任编辑:李英杰 来源: 36大数据
相关推荐

2019-02-27 10:18:26

重置Windows 10Windows

2018-01-19 12:56:19

Linux进程

2023-12-13 17:04:51

终端命令shell

2024-04-02 11:31:33

USBAndroid

2022-07-25 12:01:10

终端Linux

2021-12-27 08:24:08

漏洞网络安全

2019-09-03 14:15:05

2021-08-19 17:27:41

IT数据中心灾难

2023-02-27 13:35:16

ChatGPT机器学习

2023-08-26 07:44:13

系统内存虚拟

2021-09-16 14:26:32

网络9.11网络攻击网络安全

2021-03-10 10:40:04

Redis命令Linux

2023-06-27 16:53:50

2020-12-16 19:26:42

IIOTIOT工业物联网

2012-12-25 15:19:20

Windows操作系统

2019-03-14 11:00:40

GoLua语言

2011-10-11 15:42:54

大数据数据库

2024-09-12 09:34:32

2023-04-27 07:40:08

Spring框架OpenAI

2015-04-16 10:40:29

点赞
收藏

51CTO技术栈公众号