R语言基础语法入门教程与常用语法解析
时间:2026-08-15 | 作者:清风无痕 | 阅读:0一门新的语言学习,一般都是从输出 "Hello, World!" 程序开始。R 语言的 "Hello, World!" 程序代码如下:
实例(helloworld.R)
myString <- "Hello, World!"
print ( myString )
以上实例将字符串 "Hello, World!" 赋值给 myString 变量。
然后使用 print() 函数输出。
注意:R 语言赋值使用的是左箭头
<-符号,不过一些新版本也支持等号 =。注意:R 最常见的脚本文件后缀为
.R。例如:
hello.R data_analysis.R stock.R虽然
.r也能用,但社区主流几乎全是.R。
变量
R 语言的有效的变量名称由字母,数字以及点号 . 或下划线 _ 组成。
变量名称以字母或点开头。
| 变量名 | 是否正确 | 原因 |
|---|---|---|
| var_name2. | 正确 | 字符开头,并由字母、数字、下划线和点号组成 |
| var_name% | 错误 | % 是非法字符 |
| 2var_name | 错误 | 不能数字开头 |
.var_name, var.name |
正确 | 可以 . 号开头,但是要注意 . 号开头后面不能跟着数字 |
| .2var_name | 错误 | . 号开头后面不能跟着数字 |
| _var_name | 错误 | 不能以下划线 _ 开头 |
变量赋值
最新版本的 R 语言赋值可以使用左箭头 <-、等号 =、右箭头 ->:
实例
# 使用等号 = 号赋值
> var.1 = c(0,1,2,3)
> print(var.1)
[1] 0 1 2 3
# 使用左箭头 <-赋值
> var.2 <- c("learn","R")
> print(var.2)
[1] "learn" "R"
# 使用右箭头 -> 赋值
> c(TRUE,1) -> var.3
> print(var.3)
[1] 1 1
查看已定义的变量,可以使用 ls() 函数:
实例
> print(ls())
[1] "var.1" "var.2" "var.3"
删除变量可以使用 rm() 函数:
实例
> rm(var.3)
> print(ls())
[1] "var.1" "var.2"
>
上一章节中我们已经学会来如何安装 R 的编程环境。
接下来,我们将介绍 R 语言的交互式编程与文件脚本编程。
交互式编程
我们只需要在命令行中执行 R 命令,就可以进入交互式的编程窗口:
R
执行完这个命令后,会调出 R 语言的解释器。
我们在 > 符后面输入代码即可。
交互式命令可以通过输入 q() 来退出:
> q()
Sa ve workspace image [y/n/c]: y
文件脚本
R 语言文件后缀为 .R。
接下来我们创建一个 runoob-test.R 文件,代码如下:
runoob-test.R 文件
myString <- "RUNOOB"
print ( myString )
接下来我们在命令行窗口使用 Rscript 来执行该脚本:
Rscript runoob-test.R
输出结果如下:
[1] "RUNOOB"
输入输出
print() 输出
print() 是 R 语言的输出函数。
和其他编程语言一样,R 语言支持数字、字符等输出。
输出语句十分简单:
print("RUNOOB")
print(123)
print(3e2)
执行结果:
[1] "RUNOOB"
[1] 123
[1] 300
R 语言与 node.js 和 Python 一样,是解释型的语言。
所以,我们往往可以像使用命令行一样使用 R 语言。
如果我们在一行上进输入一个值,那么 R 也会把它直接标准化输出:
> 5e-2
[1] 0.05
R 的打印结果为什么有 [1]?
很多新手第一次看到:
[1] 30
不知道什么意思,这个 [1] 不是数组下标。
[1] 表示这一行输出从第 1 个元素开始。
因为 R 天生就是向量化语言。
例如:
x <- c(10,20,30)
print(x)
输出:
[1] 10 20 30
如果内容太长:
[1] ...
[4] ...
[7] ...
表示这一行从第几个元素开始。
cat() 函数
如果需要输出结果的拼接,我们可以使用 cat() 函数:
实例
> cat(1, "加", 1, "等于", 2, 'n')
1 加 1 等于 2
cat() 函数会在每两个拼接元素之间自动加上空格。
输出内容到文件
R 语言输出到文件的方法十分多样,而且很方便。
cat() 函数支持直接输出结果到文件:
cat("RUNOOB", file="/Users/runoob/runoob-test/r_test.txt")
这个语句不会在控制台产生结果。
它会把 "RUNOOB" 输出到 "/Users/runoob/runoob-test/r_test.txt" 文件中去。
file 参数可以是绝对路径或相对路径。建议使用绝对路径,Windows 路径格式为 D:r_test.txt。
cat("RUNOOB", file="D:r_test.txt")
注意:这个操作是"覆盖写入"操作,请谨慎使用,因为它会将输出文件的原有数据清除。
如果想"追加写入",请不要忘记设置 append 参数:
cat("GOOGLE", file="/Users/runoob/runoob-test/r_test.txt", append=TRUE)
执行以上代码后,打开 r_test.txt 文件内容如下:
RUNOOBGOOGLE
sink()
sink() 函数可以把控制台输出的文字直接输出到文件中去:
sink("/Users/runoob/runoob-test/r_test.txt")
这条语句执行以后,任何控制台上的输出都会被写入到 "/Users/runoob/runoob-test/r_test.txt" 文件中去。
控制台将不会显示输出。
注意:这个操作也是"覆盖写入"操作,会直接清除原有的文件内容。
如果我们依然想保留控制台的输出,可以设置 split 属性:
sink("/Users/runoob/runoob-test/r_test.txt", split=TRUE)
如果想取消输出到文件,可以调用无参数的 sink:
sink()
实例
sink("r_test.txt", split=TRUE) # 控制台同样输出
for (i in 1:5)
print(i)
sink() # 取消输出到文件
sink("r_test.txt", append=TRUE) # 控制台不输出,追加写入文件
print("RUNOOB")
执行以上代码,当前目录下会生存一个 r_test.txt 文件,打开文件内容如下:
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] "RUNOOB"
控制台输出为:
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
文字输入
提到输入,不少人第一反应会想到 C 语言里的 scanf、Ja va 里的 ja va.util.Scanner。
如果学过 Python,往往也会更熟悉 input() 函数。
不过,R 语言本身是解释型语言,这一点更接近一些终端脚本语言,比如 bash 或者 PowerShell。
说白了,这类语言建立在命令系统之上,天然就离不开输入和输出。
而且并不适合拿来开发面向用户的应用程序,因为它们本身就是直接给最终用户操作的。
也正因为如此,R 语言没有再单独设计一个专门从控制台读取内容的函数。
文字输入这件事,在使用 R 的过程中其实一直都在发生。
从文件读入文字
R 语言中有丰富的文件读取函数。
但是如果纯粹的想将某个文件中的内容读取为字符串,可以使用 readLines 函数:
readLines("/Users/runoob/runoob-test/r_test.txt")
执行结果:
[1] "RUNOOBGOOGLE"
读取结果是两个字符串,分别是所读取的文件包含的两行内容。
注意:所读取的文本文件每一行 (包括最后一行) 的结束必须有换行符,否则会报错。
其他方式
R 不只是能做最基础的文字输入和输出,在数据读写这件事上,它其实也准备得很完整。
无论是把数据结构直接保存到文件里,还是导出为 CSV、Excel 表格这类常见格式,再或者把这些文件重新读进来,R 都支持得比较顺手。
对做数学研究的人来说,这一点确实省事不少。
当然,这部分功能虽然很实用,但对入门学习 R 的影响并不算大,后面的章节再展开说会更合适。
工作目录
对于文件操作,我们需要设置文件的路径。
R 语言可以通过以下两个函数来获取和设置当前的工作目录:
- getwd() : 获取当前工作目录
- setwd() : 设置当前工作目录
实例
# 当前工作目录
print(getwd())
# 设置当前工作目录
setwd("/Users/runoob/runoob-test2")
# 查看当前工作目录
print(getwd())
执行以上代码输出结果为:
[1] "/Users/runoob/runoob-test"
[1] "/Users/tianqixin/runoob-test2"
R 最核心的特点:向量化
这是 R 最强大的地方之一。
Python:
for i in range(10):
...
R:
x <- c(1,2,3)
x * 2
结果:
[1] 2 4 6
整个向量直接计算。
这让 R 在数学、统计、数据分析领域极其强大。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- R语言解压与压缩tar.gz、zip等格式文件方法
- 时间:2026-08-17
-
- VSCode配置Move智能合约开发环境教程
- 时间:2026-08-17
-
- Notepad++配置R语言开发与运行环境教程
- 时间:2026-08-17
-
- Sublime Text配置R语言运行环境与数据分析脚本搭建
- 时间:2026-08-17
-
- CentOS系统中Fortran与R语言数据可视化方法
- 时间:2026-08-17
-
- VSCode配置Elixir与Phoenix框架开发环境设置
- 时间:2026-08-17
-
- Sublime配置R语言开发环境教程:R脚本高亮与运行
- 时间:2026-08-17
-
- VSCode中R语言开发如何优化Httpgd图形显示与数据透视
- 时间:2026-08-17
精选合集
更多大家都在玩
大家都在看
更多-
- 糖尿病完全不能吃糖吗
- 时间:2026-09-15
-
- 蚂蚁庄园小课堂2026年9月16日最新题目答案
- 时间:2026-09-15
-
- 小鸡答题今天的答案是什么2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园每日答题答案2026年9月16日
- 时间:2026-09-15
-
- 以下哪种粮食是酿造绍兴黄酒的主要原料 蚂蚁庄园今日答案9月16日
- 时间:2026-09-15
-
- 劝学名句“及时当勉励,岁月不待人”出自哪位诗人 蚂蚁庄园今日答案9.16
- 时间:2026-09-15
-
- 蚂蚁庄园今天答题答案2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园答题今日答案2026年9月16日
- 时间:2026-09-15


