文章目录
一、重复和循环
1. for循环
> x<-numeric(10)#占位符,否则无法找到对象x
> for(i in 1:length(x))#i表示变量,用于计数;范围是1:10
+ {
+ x[i]<-rnorm(1)
+ }
> print(x)
[1] -0.2804553 0.9634977 -0.8035086 -0.7113971 -1.0334686 0.5905210 0.9206436 0.2365685 1.1463875 0.2291404
2. while循环
> x<-numeric(10)
> i<-1
> while(i<=length(x))
+ {
+ x[i]<-rnorm(1)
+ i<-i+1
+ }
> print(x)
[1] -0.57162682 -0.01867126 1.80522912 1.03499347 0.06650873 0.87991071 1.67351117 -0.22188081 -0.45983431 -0.42795148
注:上述并不是生成10个服从标准正态分布最优方法!
x=rnorm(10) > print(x) [1] 0.15814021 -0.23565245 0.40126089 -0.90398821 -0.06845508 0.77485857 0.61365385 -2.73043759 1.70709750 2.17945785
二、条件分支
1.if-else
> x<-1
> if(x>0){rnorm(1)}
[1] 1.247303
r语言中特殊用法:可以用ifelse(cond,stat1,stat2)替换if(cond){stat1} else{stat2}
2.switch
> x<-1
> switch(x,pi,-pi)
[1] 3.141593
> x<-2
> switch(x,pi,-pi)
[1] -3.141593
三、创建函数
1.不含参数的函数
> myFunction1<-function()#不含参数
+ {
+ vec <- sample(1:6, 2, replace = T)#生成一个由 1 到 6 的整数构成的向量,并从中随机抽取 2 个数,replace = T 表示允许有放回抽样
+ return(sum(vec))
+ }
> myFunction1()
[1] 8
2.含参数的函数
>
> myFunction2 <- function(all)#含参数all
+ {
+ vec <- sample(all, 2, replace = T)
+ return(sum(vec))
+ }
> myFunction2(1:10)
[1] 11
四、和操作系统的交互
1.计算CPU time
> system.time(for(i in 1:100)mad(runif(10^3)))
user system elapsed
0.006 0.000 0.008
> system.time(for(i in 1:100)mad(runif(10^5)))
user system elapsed
0.320 0.028 0.347
> system.time(for(i in 1:100)mad(runif(10^7)))
user system elapsed
31.326 1.923 33.246
- User time(用户时间):CPU 在执行用户代码(包括用户定义的函数)上所花费的时间。它是 CPU 实际执行代码的时间,不包括等待输入/输出或其他类型的阻塞时间。用户时间反映了程序实际的计算负载。
- System time(系统时间):CPU 在内核级别执行系统调用所花费的时间。系统时间是 CPU 在执行操作系统内核代码上所花费的时间,例如执行文件操作、内存管理等。
- Elapsed time(经过的时间):指定表达式从开始到结束执行所经过的时间,包括用户时间、系统时间以及可能的等待时间(例如 I/O 等待)。它反映了整个操作的实际持续时间。
2.历史的存储和读取
savehistory(file = ".Rhistory")
loadhistory(file = ".Rhistory")
history(max.show = 25,reverse = FALSE,pattern)
- savehistory(file = “.Rhistory”):将当前 R 会话的命令历史记录保存到名为 .Rhistory 的文本文件中。如果您在 R 会话期间执行了许多命令,并希望在以后的会话中重新加载这些命令历史记录,则可以使用此函数来保存命令历史记录。
- loadhistory(file = “.Rhistory”):从名为 .Rhistory 的文本文件中重新加载命令历史记录到当前 R 会话中。如果您已经保存了命令历史记录,并希望在当前会话中重新加载它们,则可以使用此函数。
- 关于 history(max.show = 25, reverse = FALSE, pattern) 函数:
history() 函数用于显示当前 R 会话中的命令历史记录。
max.show 参数指定要显示的最大命令数量,默认为 25。
reverse 参数用于控制命令历史记录的显示顺序。如果设置为 TRUE,则按照最新的命令显示在最前面;如果设置为 FALSE,则按照最旧的命令显示在最前面。
pattern 参数用于指定要显示的命令的模式。只有与指定模式匹配的命令才会被显示。
3.工作目录
#展示当前目录
getwd()
#设置工作目录
setwd("dir-location")
4.文件处理
list.files()#显示当前工作目录下所有的文件名称
file.choose()#弹出窗口可以选择文件
read.csv(file.choose())#弹出窗口选择要读区的csv文件
标签:10,操作系统,编程,命令,Rhistory,time,交互,CPU,函数
From: https://blog.csdn.net/weixin_72965820/article/details/137229489