簡體   English   中英

在r中連接兩個字符串變量

[英]Concatenating two string variables in r

我已經看到很多關於使用paste和paste0來連接r中的兩個字符串的討論。 但是,這似乎不適用於兩個字符串變量。 我有一個如下所示的數據框。

    series_id   year    period  value   footnote_codes
1   LASBS260000000000003            1983    M01 15.1              
2   LASBS260000000000003            1983    M02 15.0              
3   LASBS260000000000003            1983    M03 14.8              
4   LASBS260000000000003            1983    M04 14.6

我希望將year變量與period變量結合起來,在名為observation的數據框中生成一個新變量。 數據框稱為數據,我根據類似查詢的研究嘗試了以下粘貼命令。

data$obs<-paste0(toString(data$year),toString(data$period))
data$obs<-paste(toString(data$year),toString(data$period),sep="")

這並沒有像我們預期的那樣給我預期的值變量“1983M01”。 任何想法將不勝感激。

史蒂夫

我遇到了上面提到的問題:我想將“year”(數字)與字符串變量連接起來。 作為解決方案,我使用“as.character”而不是“toString”,然后使用“paste0”連接變量。 這對我有用。 例如,

df$c<-paste0(as.character(df$a)," ", as.character(df$b))

我知道這是一個老帖子。 希望這能幫助處於類似情況的其他用戶。

以下作品:

> apply(ddf,1 ,function(x) paste0(toString(x[2]), toString(x[3])))
[1] "1983M01" "1983M02" "1983M03" "1983M04"
> 
> apply(ddf,1 ,function(x) paste(toString(x[2]), toString(x[3])))
[1] "1983 M01" "1983 M02" "1983 M03" "1983 M04"

toString(ddf $ year)將整個列綁定在一個字符串中:

> toString(ddf$year)
[1] "1983, 1983, 1983, 1983"
> 
> toString(ddf$period)
[1] "M01, M02, M03, M04"
> 
> paste(toString(ddf$year), toString(ddf$period))
[1] "1983, 1983, 1983, 1983 M01, M02, M03, M04"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM