2012-10-22 27 views
4

我想paste兩個字符串在一起,並在另一個字符的末尾墊,使組合一定的長度。我想知道是否有一個選項paste,可以通過或另一個我失蹤的詭計?我可以通過計算出每條線的長度,然後用與paste聯繫,但我想在一行中做這個。如何將兩個矢量粘貼在一起並在底部填充?

例:墊一起"hi",和"hello"並用"a"墊使序列長度10的結果將是"hihelloaaa"

回答

5

可以使用stringr函數str_pad

library(stringr) 
str_pad(paste0('hi','hello'), side = 'right', width = 10 , pad = 'a') 
8

下面是一個選項:

s1 <- "hi" 
s2 <- "hello" 

f <- function(x, y, pad = "a", length = 10) { 
    out <- paste0(x, y) 
    nc <- nchar(out) 
    paste0(out, paste(rep(pad, length - nc), collapse = "")) 
} 

> f(s1, s2) 
[1] "hihelloaaa" 
+2

您可以用'...'代替'x'和'y' – GSee

+0

這實際上是我最終編碼了,我希望使用內置函數,所以我不必繼續採購此 – Alex

+4

@Alex這是一個個人包有用的地方(你不必如果你不想要的話,寫下Rd文件!)。然後在你需要的時候加載你的函數包。就像你在mnel的Answer中使用'stringr'一樣。 –