您好,登錄后才能下訂單哦!
這篇“R語言字符串和時間格式化的方法是什么”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“R語言字符串和時間格式化的方法是什么”文章吧。
R語言字符串可用單引號' '或雙引號" "來表示,二者唯一的區別是,單引號字符串不含單引號,雙引號字符串不含雙引號。
通過format函數可以實現字符串的格式化輸出,其語法格式為
format(x, digits, nsmall, scientific, width, justify = c("left", "right", "centre", "none"))
其中
x 輸入對向量
digits 顯示的位數
nsmall 小數點右邊顯示的最少位數
scientific 設置科學計數法
width 通過開頭填充空白來顯示最小的寬度
justify 設置位置,顯示可以是左邊、右邊、中間等。
示例如下
> 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"
R語言支持字符轉義,例如換行、回車、制表位之類的,但在屏幕上顯示的時候,需要通過函數cat而非print,二者差別如下
> print('asdf\r\nasdf') [1] "asdf\nasdf" > cat('asdf\nasdf') asdf asdf
其中\n表示回車,R語言中可用的轉義字符如下
\t 制表位
\n 回車
\\ 即\
\'或\" 分別在單引號字符串和雙引號字符串中用于引號轉義
此外,\a可以發出提示音,有了這個,可以更加便捷地起到提醒作用。但并不特別推薦使用cat("\a"),而推薦用相同功能的alarm()函數。
由于\被用于轉義,所以在輸入路徑的時候,要記得寫成\\,或者用反斜杠/。
通過函數Sys.Date可以獲取當前日期,通過Sys.time()可以獲取當前時間,這個時間可以直接print,并得到字符串輸出
> t0 <- Sys.time() > d0 <- Sys.Date() > print(d0) [1] "2023-03-15" > print(t0) [1] "2023-03-15 13:34:54 CST"
如果不喜歡這個輸出格式,可以format來更改其輸出格式
> format(t0, "%H:%M:%S %d/%m/%Y", tz="UTC") [1] "05:34:54 15/03/2023"
其中,tz表示時區。原本CST時區中的13點,變成UTC之后成了5點。
%H, %M, %S, %d, %m, %Y分別表示時、分、秒,日期、月份、年份,其他格式調整如下表所示
符號 | 含義 | 示例 | 符號 | 含義 | 示例 |
---|---|---|---|---|---|
%d | 數值天 | 01-31 | %m | 數值月份 | 00-12 |
%a | 縮寫星期 | Mon | %A | 完整的星期 | Monday |
%b | 縮寫月份 | Jan | %B | 月份 | January |
%y | 兩位數年份 | 07 | %Y | 四位數年份 | 2007 |
R語言提供了一些字符串函數,如下表所示
類別 | 函數 |
---|---|
大小寫轉換 | 轉大寫toupper;轉小寫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"
以上就是關于“R語言字符串和時間格式化的方法是什么”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。