柚子快報激活碼778899分享:R語言編程和操作系統(tǒng)交互
柚子快報激活碼778899分享:R語言編程和操作系統(tǒng)交互
文章目錄
一、重復(fù)和循環(huán)1. for循環(huán)2. while循環(huán)
二、條件分支1.if-else2.switch
三、創(chuàng)建函數(shù)1.不含參數(shù)的函數(shù)2.含參數(shù)的函數(shù)
四、和操作系統(tǒng)的交互1.計算CPU time2.歷史的存儲和讀取3.工作目錄4.文件處理
一、重復(fù)和循環(huán)
1. for循環(huán)
> x<-numeric(10)#占位符,否則無法找到對象x
> for(i in 1:length(x))#i表示變量,用于計數(shù);范圍是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循環(huán)
> 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個服從標準正態(tài)分布最優(yōu)方法!
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
三、創(chuàng)建函數(shù)
1.不含參數(shù)的函數(shù)
> myFunction1<-function()#不含參數(shù)
+ {
+ vec <- sample(1:6, 2, replace = T)#生成一個由 1 到 6 的整數(shù)構(gòu)成的向量,并從中隨機抽取 2 個數(shù),replace = T 表示允許有放回抽樣
+ return(sum(vec))
+ }
> myFunction1()
[1] 8
2.含參數(shù)的函數(shù)
>
> myFunction2 <- function(all)#含參數(shù)all
+ {
+ vec <- sample(all, 2, replace = T)
+ return(sum(vec))
+ }
> myFunction2(1:10)
[1] 11
四、和操作系統(tǒng)的交互
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 在執(zhí)行用戶代碼(包括用戶定義的函數(shù))上所花費的時間。它是 CPU 實際執(zhí)行代碼的時間,不包括等待輸入/輸出或其他類型的阻塞時間。用戶時間反映了程序?qū)嶋H的計算負載。System time(系統(tǒng)時間):CPU 在內(nèi)核級別執(zhí)行系統(tǒng)調(diào)用所花費的時間。系統(tǒng)時間是 CPU 在執(zhí)行操作系統(tǒng)內(nèi)核代碼上所花費的時間,例如執(zhí)行文件操作、內(nèi)存管理等。Elapsed time(經(jīng)過的時間):指定表達式從開始到結(jié)束執(zhí)行所經(jīng)過的時間,包括用戶時間、系統(tǒng)時間以及可能的等待時間(例如 I/O 等待)。它反映了整個操作的實際持續(xù)時間。
2.歷史的存儲和讀取
savehistory(file = ".Rhistory")
loadhistory(file = ".Rhistory")
history(max.show = 25,reverse = FALSE,pattern)
savehistory(file = “.Rhistory”):將當前 R 會話的命令歷史記錄保存到名為 .Rhistory 的文本文件中。如果您在 R 會話期間執(zhí)行了許多命令,并希望在以后的會話中重新加載這些命令歷史記錄,則可以使用此函數(shù)來保存命令歷史記錄。loadhistory(file = “.Rhistory”):從名為 .Rhistory 的文本文件中重新加載命令歷史記錄到當前 R 會話中。如果您已經(jīng)保存了命令歷史記錄,并希望在當前會話中重新加載它們,則可以使用此函數(shù)。關(guān)于 history(max.show = 25, reverse = FALSE, pattern) 函數(shù): history() 函數(shù)用于顯示當前 R 會話中的命令歷史記錄。 max.show 參數(shù)指定要顯示的最大命令數(shù)量,默認為 25。 reverse 參數(shù)用于控制命令歷史記錄的顯示順序。如果設(shè)置為 TRUE,則按照最新的命令顯示在最前面;如果設(shè)置為 FALSE,則按照最舊的命令顯示在最前面。 pattern 參數(shù)用于指定要顯示的命令的模式。只有與指定模式匹配的命令才會被顯示。
3.工作目錄
#展示當前目錄
getwd()
#設(shè)置工作目錄
setwd("dir-location")
4.文件處理
list.files()#顯示當前工作目錄下所有的文件名稱
file.choose()#彈出窗口可以選擇文件
read.csv(file.choose())#彈出窗口選擇要讀區(qū)的csv文件
柚子快報激活碼778899分享:R語言編程和操作系統(tǒng)交互
文章鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。