R语言学习笔记(一)——基础语法(二)

输入输出

print() 输出

print() 是 R 语言的输出函数。

和其他编程语言一样,R 语言支持数字、字符等输出。

输出的语句十分简单:

print("RUNOOB")
print(123)
print(3e2)

R 语言与 node.js 和 Python 一样,是解释型的语言,所以我们往往可以像使用命令行一样使用 R 语言。

如果我们在一行上进输入一个值,那么 R 也会把它直接标准化输出:

5e-2
[1] 0.05

cat( ) 函数

如果需要输出结果的拼接,我们可以使用 cat() 函数,cat( ) 函数会在每两个拼接元素之间自动加上空格。:

cat(1, "加", 1, "等于", 2, '\n')

输出内容到文件

R 语言输出到文件的方法十分多样,而且很方便。

cat( ) 函数支持直接输出结果到文件:

cat("RUNOOB", file="/Users/runoob/runoob-test/r_test.txt")

注意:这个操作是"覆盖写入"操作,请谨慎使用,因为它会将输出文件的原有数据清除。如果想"追加写入",请不要忘记设置 append 参数:

cat("GOOGLE", file="/Users/runoob/runoob-test/r_test.txt", append=TRUE)

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")

这段代码的作用是:

  • 首先,将1到5的数字同时输出到控制台和文件r_test.txt
  • 然后,取消输出重定向。
  • 最后,将字符串"RUNOOB"追加写入文件r_test.txt,但不显示在控制台。

执行以上代码,当前目录下会生存一个 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

文字输入

 R 语言没有专门再从控制台读取的函数,文字输入在 R 的使用中一直在进行。

从文件读入文字

R 语言中有丰富的文件读取函数,但是如果纯粹的想将某个文件中的内容读取为字符串,可以使用 readLines 函数:

readLines("/Users/runoob/runoob-test/r_test.txt")

读取结果是两个字符串,分别是所读取的文件包含的两行内容。

注意:所读取的文本文件每一行 (包括最后一行) 的结束必须有换行符,否则会报错。

其他方式

除了文字的简单输入输出以外,R 还提供了很多输入数据和输出数据的方法,R 语言最方便的地方就是可以将数据结构直接保存到文件中去,而且支持保存为 CSV、Excel 表格等形式,并且支持直接地读取。这对于数学研究者来说无疑是非常方便的。但是这些功能对于 R 语言的学习影响不大。

工作目录

对于文件操作,我们需要设置文件的路径,R 语言可以通过以下两个行数来获取和设置当前的工作目录:

getwd() : #获取当前工作目录
setwd() : #设置当前工作目录
# 当前工作目录
print(getwd())

# 设置当前工作目录
setwd("/Users/runoob/runoob-test2")

# 查看当前工作目录
print(getwd())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值