我有矩阵,列名有两部分,我只想保留第一部分。
>colnames(mymatrix)
[1] "AF|2312" "BWDS|54" "JFD|2111"
所以我只想在|
如何在R?
中实现它?答案 0 :(得分:3)
另一种方法是使用strsplit(),一个正则表达式,用于“除了字母之外的所有内容”以分割向量,代码只保留第一部分:管道前面的字母(负数2)。
var <- c("AF|2312", "BWDS|54", "JFD|2111")
var <- sapply(strsplit(var, split = "\\W"), "[", -2)
var
答案 1 :(得分:2)
要删除管道及其后的所有内容,请使用
colnames(mymatrix) <- gsub("\\|.*","", colnames(mymatrix))