Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 在r中编辑矩阵的列名(即从中删除字符)时,是否有与paste()相反的函数?_String_R_Substring_Paste_Substr - Fatal编程技术网

String 在r中编辑矩阵的列名(即从中删除字符)时,是否有与paste()相反的函数?

String 在r中编辑矩阵的列名(即从中删除字符)时,是否有与paste()相反的函数?,string,r,substring,paste,substr,String,R,Substring,Paste,Substr,我希望删除矩阵中每个列名的第一个字符 mat1 <- matrix(seq(1:6), 2) dimnames(mat1)[[2]] <- c("bA", "bB", "bC") bA bB bC 1 2 3 4 5 6 我知道使用paste()函数,您可以在列名后面追加内容;是否有相反的功能?子字符串是合适的功能: dimnames(mat1)[[2]] <- substring(dimnames(mat1)[[2]], f

我希望删除矩阵中每个列名的第一个字符

mat1 <- matrix(seq(1:6), 2)
dimnames(mat1)[[2]] <- c("bA", "bB", "bC")


bA    bB    bC
1     2     3
4     5     6

我知道使用
paste()
函数,您可以在列名后面追加内容;是否有相反的功能?

子字符串是合适的功能:

 dimnames(mat1)[[2]] <- substring(dimnames(mat1)[[2]], first=2)

 mat1
     A B C
[1,] 1 3 5
[2,] 2 4 6

dimnames(mat1)[[2]]子字符串是合适的函数:

 dimnames(mat1)[[2]] <- substring(dimnames(mat1)[[2]], first=2)

 mat1
     A B C
[1,] 1 3 5
[2,] 2 4 6

dimnames(mat1)[[2]]除了
子字符串
方法之外,您还可以使用regex方法:

?regex
  colnames(mat1) <- sub('^\\.', "", colnames(mat1) ) # removes first letter
  # the next one removes lower-case letters which for some reason Jilber has already posted but  deleted
  colnames(mat1) <- sub("[a-z]", "", colnames(mat1) )

除了
子字符串
方法外,还可以使用正则表达式方法:

?regex
  colnames(mat1) <- sub('^\\.', "", colnames(mat1) ) # removes first letter
  # the next one removes lower-case letters which for some reason Jilber has already posted but  deleted
  colnames(mat1) <- sub("[a-z]", "", colnames(mat1) )

striu sub
功能来自
stringi
软件包

require(stringi)
stri_sub(c("aA","bB","aC"),2)
## [1] "A" "B" "C"

striu sub
功能来自
stringi
软件包

require(stringi)
stri_sub(c("aA","bB","aC"),2)
## [1] "A" "B" "C"

请注意,您可以在作业两侧使用表达式
colnames(mat1)
而不是
dimnames(mat1)[[2]]
(正如刚才删除的答案中所使用的那样)。请注意,您可以在作业两侧使用表达式
colnames(mat1)
而不是
dimnames(mat1)[[2]
(正如刚才删除的答案中所使用的那样)。这与矩阵无关。它操作的是字符向量
dimnames()
。这与矩阵无关。它操作的是字符向量
dimnames()