首页 > 编程语言 >R语言编程和操作系统交互

R语言编程和操作系统交互

时间:2024-04-08 15:30:09浏览次数:27  
标签:10 操作系统 编程 命令 Rhistory time 交互 CPU 函数

文章目录


一、重复和循环

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 
  1. User time(用户时间):CPU 在执行用户代码(包括用户定义的函数)上所花费的时间。它是 CPU 实际执行代码的时间,不包括等待输入/输出或其他类型的阻塞时间。用户时间反映了程序实际的计算负载。
  2. System time(系统时间):CPU 在内核级别执行系统调用所花费的时间。系统时间是 CPU 在执行操作系统内核代码上所花费的时间,例如执行文件操作、内存管理等。
  3. Elapsed time(经过的时间):指定表达式从开始到结束执行所经过的时间,包括用户时间、系统时间以及可能的等待时间(例如 I/O 等待)。它反映了整个操作的实际持续时间。

2.历史的存储和读取

savehistory(file = ".Rhistory")
loadhistory(file = ".Rhistory")
history(max.show = 25,reverse = FALSE,pattern)
  1. savehistory(file = “.Rhistory”):将当前 R 会话的命令历史记录保存到名为 .Rhistory 的文本文件中。如果您在 R 会话期间执行了许多命令,并希望在以后的会话中重新加载这些命令历史记录,则可以使用此函数来保存命令历史记录。
  2. loadhistory(file = “.Rhistory”):从名为 .Rhistory 的文本文件中重新加载命令历史记录到当前 R 会话中。如果您已经保存了命令历史记录,并希望在当前会话中重新加载它们,则可以使用此函数。
  3. 关于 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

相关文章

  • 毕业设计jspm少儿编程教育网站系统
    摘要在国家重视教育影响下,教育部门的密确配合下,对教育进行改革、多样性、质量等等的要求,使教育系统的管理和运营比过去十年前更加理性化。依照这一现实为基础,设计一个快捷而又方便的网上少儿编程教育网站系统是一项十分重要并且有价值的事情。对于传统的少儿编程教育网站......
  • 题目 1035: [编程入门]自定义函数之字符类型统计
    一、题目 题目描述编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。只要结果,别输出什么提示信息。输入格式一行字符串输出格式统计数据,4个数字,空格分开。样例输入!@#$%^QWERT   1234567......
  • Python 高级编程必会之深浅拷贝
    浅拷贝和深拷贝在Python中各有用武之地,正确的选择取决于具体的应用场景、数据结构的复杂性以及对性能的要求。理解这两种方法的工作原理和差异,是每个Python开发者在进行数据复制操作时必须掌握的基础。 在我们进行Python编程的时候,复制(拷贝)数据结构是一种常见的操作,比如当......
  • WebSocket socket.io.js 前后端交互,优秀的示例
    前言全局说明WebSocketsocket.io.js前后端交互,优秀的示例一、官方示例https://flask-socketio.readthedocs.io/en/latest/getting_started.html二、其他示例https://www.cnblogs.com/yoyoketang/p/18022139三、Python的subprocess执行命令、交互、等待、是否结束、......
  • 【操作系统】CentOS7入门级安装
    下载镜像CentOS镜像下载Download(centos.org)我们选择第一个X86_64CentOSMirrorsList版本描述X86_X64带64位的32位扩展版(一般安装这个)ARM64(aarch64)嵌入式。适用于微端(树莓派、机械臂、机械中控)IBMPower(ppc64le)专用于IBMPOWER服务器选择一个合适的链接......
  • 如何在HarmonyOS(鸿蒙操作系统)上进行应用开发
    文章中提到的关键点包括:学习ArkTS:作者建议初学者首先学习使用ArkTS编写HelloWorld程序,并可以通过TypeScript教程来快速掌握基础语法。对于有Flutter或ReactNative开发经验的开发者来说,页面布局会比较容易上手。页面布局:作者建议根据HarmonyOS的指导文档尝试编写简单布局,......
  • Windows编程系列:图形编程基础2
    通过函数BeginPaint画图1、创建一个Windows桌面应用程序 2、找到WM_PAINT消息的处理函数,添加代码如下:1caseWM_PAINT:2{3PAINTSTRUCTps;4HDChdc=BeginPaint(hWnd,&ps);5TextOut(hdc,10,20,L"HelloWorld",10);//绘制文本......
  • Visual Studio 2022插件的安装及使用 - 编程手把手系列文章
          这次开始写手把手编程系列文章,刚写到C#的Dll程序集类库的博文,就发现需要先介绍VisualStudio2022的插件的安装及使用,因为在后面编码的时候会用到这些个插件,所以有必要先对这个内容进行介绍。      其实笔者使用的VisualStudio2022的插件不多,因为有些插件......
  • VS+QT编程找不到新增UI文件控件对象的问题
    转载自:VS写Qt项目时,ui界面拖拽的控件代码找不到引用的解决办法_vsqt中ui下的组件没有-CSDN博客1.保存Ui文件在拖拽控件之后,Ctrl+S2.重新编译ui文件鼠标右键选择要编译的UI文件,找到编译 3.右键项目,重新扫描解决方案 ......
  • Linux编程中进程的概念和环境变量
    目录概述1认识进程1.1进程的定义1.2进程状态1.3进程的调用2进程环境2.1进程ID2.2父进程与子进程2.3UID和GID2.4环境变量2.4.1通过main函数参数获取环境变量2.4.2environ全局变量获取环境变量2.4.3getenv()函数获取环境变量2.5环境变量的作用3......