为什么矩阵的str_trim返回一个向量?

时间:2016-06-08 13:46:52

标签: regex r

为了处理尾随/前导空格,我发现了这个函数str_trim。当应用于字符串矩阵时,它返回一个向量。我很困惑。

library(stringr)
str_trim(matrix("   strings     ",3,3))

实际上,我通常使用gsub,当应用于矩阵时,gsub返回一个矩阵,这是正常的。

2 个答案:

答案 0 :(得分:4)

str_trim只会返回无量纲向量。但是,您可以通过执行结构化分配来保留矩阵形状:

mat = matrix("   strings     ",3,3)
mat[] = str_trim(mat)

答案 1 :(得分:3)

根据?stringr::str_trim(),预计输出为矢量:

  

值:

     

字符向量。

获得所需输出的一种可能性在于使用基本R函数trimws()

trimws(matrix("   strings     ",3,3))
#     [,1]      [,2]      [,3]     
#[1,] "strings" "strings" "strings"
#[2,] "strings" "strings" "strings"
#[3,] "strings" "strings" "strings"