您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)R語言如何實(shí)現(xiàn)將向量轉(zhuǎn)換成一個(gè)字符串的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
R語言是用于統(tǒng)計(jì)分析、繪圖的語言和操作環(huán)境,屬于GNU系統(tǒng)的一個(gè)自由、免費(fèi)、源代碼開放的軟件,它是一個(gè)用于統(tǒng)計(jì)計(jì)算和統(tǒng)計(jì)制圖的優(yōu)秀工具。
將向量a,b裝換成一個(gè)字符串,其中:
a=c(1,2,3,4) b=c(2,3,4,5)
為了將其轉(zhuǎn)化成一個(gè)字符串可以通過引入包stringr,使用str_c實(shí)現(xiàn),使用paste也一樣可以達(dá)到目的,如下:
library(stringr) a_b=str_c(a,b,collapse='') paste(a,b,sep='')
輸出為:
[1] "12233445"
在實(shí)際的數(shù)據(jù)處理中看可以用來給數(shù)據(jù)框建聯(lián)合索引,比如數(shù)據(jù)框中需要用到的索引列聯(lián)接成一列,則在實(shí)際中可以方便很多,避免很多麻煩,但是需要注意的是最后在每列中間加一個(gè)字符比如空字符來保證一一映射。比如數(shù)據(jù)框的前兩行的數(shù)據(jù)為:
A1 A2 A3 A4 1 1 1 11 4 2 1 11 1 5
如果使用前三列索引即A1,A2,A3。如果不加入特殊字符則第一行和第二行連接的字符都為:
[1] "1111"
二者索引是相同的,所以需要加入特殊字符避免這種情況,比如加入空格后兩行數(shù)據(jù)的連接后為:
[1] "1 1 11" [2] "1 11 1"
這兩個(gè)字符串是不相同的。
補(bǔ)充:R語言中怎么將一個(gè)字符串向量合成一個(gè)大字符串
> test <- c("a", "b", "c") > t3 <- paste(test, collapse = "") > t3
[1] “abc”
補(bǔ)充:用R語言解析字符串
常見字符串的字符串操作:合并與分割。
paste函數(shù)用于合并字符串,其基本形式為 paste( <字符串>..., sep=" "),其中的參數(shù)如表2-13所示:
示例代碼如下:
> data <- "4分50秒" > data <- paste("網(wǎng)站停留時(shí)間:","3小時(shí)",data,sep="") > data
[1] "網(wǎng)站停留時(shí)間:3小時(shí)4分50秒"
strsplit 函數(shù)可以依據(jù)特定字符串來把字符串分割為列表,其中用于分割的字符串將不再出現(xiàn)。下面,將把字符串“網(wǎng)站停留時(shí)間:3小時(shí)4分50秒”轉(zhuǎn)化為用戶停留時(shí)間的實(shí)數(shù)(以秒為單位)。
詳細(xì)代碼,保存在test.R中,如下:
data <- "4分50秒" data <- paste("網(wǎng)站停留時(shí)間:","3小時(shí)",data,sep="") data <- strsplit(strsplit(data,split=":")[[1]][2], split="小時(shí)"); data <- unlist(data); h <- as.numeric(data[1]); min.sec <- data[2]; min.sec <- unlist(strsplit(min.sec,split="分")) min <- as.numeric(min.sec[1]) sec <- min.sec[2]; sec <- unlist(strsplit(sec,split="秒")); sec <- as.numeric(sec[1]) times <- 3600*h+60*min+sec list <- "times=" print("times=") print(times)
效果如下:
感謝各位的閱讀!關(guān)于“R語言如何實(shí)現(xiàn)將向量轉(zhuǎn)換成一個(gè)字符串”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。