交互模式和 R 脚本

交互模式

使用 R 的最基本方式是交互模式。你键入命令并立即从 R 获取结果

使用 R 作为计算器

通过在操作系统的命令提示符下键入 R 或在 Windows 上执行 RGui 来启动 R. 你可以在下面看到 Linux 上的交互式 R 会话的屏幕截图:

StackOverflow 文档

这是 Windows 上的 RGui,是 Windows 下 R 的最基本的工作环境: StackOverflow 文档

> 符号之后,可以输入表达式。一旦输入表达式,结果将由 R 显示。在上面的屏幕截图中,R 用作计算器:类型

1+1

立即看到结果,2。领先的 [1] 表示 R 返回一个向量。在这种情况下,向量只包含一个数字(2)。

第一个情节

R 可用于生成图。以下示例使用数据集 PlantGrowth,它与 R 一起作为示例数据集

将以下所有行中的 int 键入 R 提示符,该提示符不以 ## 开头。以 ## 开头的行用于记录 R 将返回的结果。

data(PlantGrowth)
str(PlantGrowth)
## 'data.frame':    30 obs. of  2 variables:
## $ weight: num  4.17 5.58 5.18 6.11 4.5 4.61 5.17 4.53 5.33 5.14 ...
## $ group : Factor w/ 3 levels "ctrl","trt1",..: 1 1 1 1 1 1 1 1 1 1 ...
anova(lm(weight ~ group, data = PlantGrowth))
## Analysis of Variance Table
## 
## Response: weight
##           Df  Sum Sq Mean Sq F value  Pr(>F)  
## group      2  3.7663  1.8832  4.8461 0.01591 *
## Residuals 27 10.4921  0.3886                  
## ---
## Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
boxplot(weight ~ group, data = PlantGrowth, ylab = "Dry weight")

创建以下图:

StackOverflow 文档

data(PlantGrowth) 加载示例数据集 PlantGrowth,其是干燥的植物群的记录,其受到两种不同的处理条件或根本没有处理(对照组)。该数据集以 PlantGrowth 的名称提供。这样的名称也称为变量

要加载你自己的数据,以下两个文档页面可能会有所帮助:

str(PlantGrowth) 显示有关已加载的数据集的信息。输出表明 PlantGrowthdata.frame,它是表的 R 名称。data.frame 包含两列和 30 行。在这种情况下,每行对应一个工厂。两列的详细信息显示在以 $ 开头的行中:第一列称为 weight 并包含数字(num,相应植物的干重)。第二栏,group,包含植物所经受的处理。这是分类数据,在 R 中称为 factor阅读有关数据帧的更多信息

为了比较三个不同组的干质量,使用 anova(lm( ... )) 进行单向 ANOVA。weight ~ group 的意思是“比较列 weight 的值,按列 group 的值进行分组”。这在 R.中称为公式 .data = ... 指定可以找到数据的表的名称。

结果表明,除其他外,三组之间存在显着差异(列 Pr(>F)),p = 0.01591)。必须执行像 Tukey 测试这样的事后测试,以确定哪些组的平均值存在显着差异。

boxplot(...) 创建数据的箱形图。要绘制的值来自哪里。weight ~ group 意思是:“画出列权重的值相对于所述柱 group 的值 ylab = ... 指定 y 轴的标签的更多信息:。基地绘图

输入 q() 或 Ctrl - D 退出 R 会话。

R 脚本

要记录你的研究,最好将用于计算的命令保存在文件中。为此,你可以创建 R 脚本。R 脚本是一个简单的文本文件,包含 R 命令。

创建一个名为 plants.R 的文本文件,并使用以下文本填充它,其中一些命令在上面的代码块中是熟悉的:

data(PlantGrowth)

anova(lm(weight ~ group, data = PlantGrowth))

png("plant_boxplot.png", width = 400, height = 300)
boxplot(weight ~ group, data = PlantGrowth, ylab = "Dry weight")
dev.off()    

通过在终端中输入脚本来执行脚本(操作系统的终端,而不是上一节中的交互式 R 会话!)

R --no-save <plant.R >plant_result.txt

文件 plant_result.txt 包含计算结果,就好像你已将它们输入到交互式 R 提示中一样。因此,你的计算记录在案。

新命令 pngdev.off 用于将箱线图保存到磁盘。这两个命令必须包含绘图命令,如上例所示。png("FILENAME", width = ..., height = ...) 打开一个新的 PNG 文件,其中包含指定的文件名,宽度和高度(以像素为单位)。dev.off() 将完成绘图并将绘图保存到磁盘。在调用 dev.off() 之前不会保存输出。