R語(yǔ)言學(xué)習(xí)之字符串和時(shí)間格式化詳解
字符串格式化
R語(yǔ)言字符串可用單引號(hào)' '或雙引號(hào)" "來(lái)表示,二者唯一的區(qū)別是,單引號(hào)字符串不含單引號(hào),雙引號(hào)字符串不含雙引號(hào)。
通過(guò)format函數(shù)可以實(shí)現(xiàn)字符串的格式化輸出,其語(yǔ)法格式為
format(x, digits, nsmall, scientific, width, justify = c("left", "right", "centre", "none"))
其中
- x 輸入對(duì)向量
- digits 顯示的位數(shù)
- nsmall 小數(shù)點(diǎn)右邊顯示的最少位數(shù)
- scientific 設(shè)置科學(xué)計(jì)數(shù)法
- width 通過(guò)開(kāi)頭填充空白來(lái)顯示最小的寬度
- justify 設(shè)置位置,顯示可以是左邊、右邊、中間等。
示例如下
> format(23.123456789, digits = 9) [1] "23.1234568" > format(c(6, 13.14521), scientific = TRUE) [1] "6.000000e+00" "1.314521e+01" > format(23.47, nsmall = 5) [1] "23.47000"
轉(zhuǎn)義字符
R語(yǔ)言支持字符轉(zhuǎn)義,例如換行、回車、制表位之類的,但在屏幕上顯示的時(shí)候,需要通過(guò)函數(shù)cat而非print,二者差別如下
> print('asdf\r\nasdf')
[1] "asdf\nasdf"
> cat('asdf\nasdf')
asdf
asdf
其中\(zhòng)n表示回車,R語(yǔ)言中可用的轉(zhuǎn)義字符如下
- \t 制表位
- \n 回車
- \\ 即\
- \'或\" 分別在單引號(hào)字符串和雙引號(hào)字符串中用于引號(hào)轉(zhuǎn)義
此外,\a可以發(fā)出提示音,有了這個(gè),可以更加便捷地起到提醒作用。但并不特別推薦使用cat("\a"),而推薦用相同功能的alarm()函數(shù)。
由于\被用于轉(zhuǎn)義,所以在輸入路徑的時(shí)候,要記得寫成\\,或者用反斜杠/。
時(shí)間格式化
通過(guò)函數(shù)Sys.Date可以獲取當(dāng)前日期,通過(guò)Sys.time()可以獲取當(dāng)前時(shí)間,這個(gè)時(shí)間可以直接print,并得到字符串輸出
> t0 <- Sys.time() > d0 <- Sys.Date() > print(d0) [1] "2023-03-15" > print(t0) [1] "2023-03-15 13:34:54 CST"
如果不喜歡這個(gè)輸出格式,可以format來(lái)更改其輸出格式
> format(t0, "%H:%M:%S %d/%m/%Y", tz="UTC") [1] "05:34:54 15/03/2023"
其中,tz表示時(shí)區(qū)。原本CST時(shí)區(qū)中的13點(diǎn),變成UTC之后成了5點(diǎn)。
%H, %M, %S, %d, %m, %Y分別表示時(shí)、分、秒,日期、月份、年份,其他格式調(diào)整如下表所示
| 符號(hào) | 含義 | 示例 | 符號(hào) | 含義 | 示例 |
|---|---|---|---|---|---|
| %d | 數(shù)值天 | 01-31 | %m | 數(shù)值月份 | 00-12 |
| %a | 縮寫星期 | Mon | %A | 完整的星期 | Monday |
| %b | 縮寫月份 | Jan | %B | 月份 | January |
| %y | 兩位數(shù)年份 | 07 | %Y | 四位數(shù)年份 | 2007 |
字符串函數(shù)
R語(yǔ)言提供了一些字符串函數(shù),如下表所示
| 類別 | 函數(shù) |
|---|---|
| 大小寫轉(zhuǎn)換 | 轉(zhuǎn)大寫toupper;轉(zhuǎn)小寫tolower |
| 截取字符串 | substring;substr |
| 組合與分割 | 拼接paste;分割strsplit |
> tStr <- format(t0, "%H:%M:%S %d/%m/%Y", tz="UTC") > tStr [1] "05:34:54 15/03/2023" > strsplit(tStr, ':') [[1]] [1] "05" "34" "54 15/03/2023" > paste(tStr, tStr) [1] "05:34:54 15/03/2023 05:34:54 15/03/2023" > substring(tStr, 0, 15) [1] "05:34:54 15/03/" > substring(tStr, 0, 5) [1] "05:34" > substr(tStr, 0, 15) [1] "05:34:54 15/03/" > substr(tStr, 0, 5) [1] "05:34"
到此這篇關(guān)于R語(yǔ)言學(xué)習(xí)之字符串和時(shí)間格式化詳解的文章就介紹到這了,更多相關(guān)R語(yǔ)言字符串 時(shí)間格式化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
R語(yǔ)言學(xué)習(xí)Rcpp基礎(chǔ)知識(shí)全面整理
這篇文章主要介紹了R語(yǔ)言學(xué)習(xí)Rcpp知識(shí)的全面整理,包括相關(guān)配置說(shuō)明,常用數(shù)據(jù)類型及建立等基礎(chǔ)知識(shí)的全面詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11
R語(yǔ)言UpSet包實(shí)現(xiàn)集合可視化示例詳解
這篇文章主要為大家介紹了R語(yǔ)言UpSet包實(shí)現(xiàn)集合可視化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
R語(yǔ)言中向量和矩陣簡(jiǎn)單運(yùn)算的實(shí)現(xiàn)
這篇文章主要介紹了R語(yǔ)言中向量和矩陣簡(jiǎn)單運(yùn)算的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
R語(yǔ)言編程學(xué)習(xí)繪制動(dòng)態(tài)圖實(shí)現(xiàn)示例
這篇文章主要介紹了R語(yǔ)言編程學(xué)習(xí)繪制動(dòng)態(tài)圖實(shí)現(xiàn)示例,有需要的的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-10-10
R語(yǔ)言讀取柵格數(shù)據(jù)的方法(raster包讀取)
這篇文章主要介紹了R語(yǔ)言讀取柵格數(shù)據(jù)的方法,本文就只是對(duì)R語(yǔ)言raster包讀取、處理柵格數(shù)據(jù)加以基本的方法介紹,需要的朋友可以參考下2023-05-05

