0
我有稱爲字符矢量特定字母:過濾器的東西是不是數字或字符向量
myvec<- c("122","112","ghtt1","fff","223F","X","Y")
如何才能篩選並獲得唯一的數字,「X」和「Y」作爲
預期輸出:
122,112,X,Y
我有稱爲字符矢量特定字母:過濾器的東西是不是數字或字符向量
myvec<- c("122","112","ghtt1","fff","223F","X","Y")
如何才能篩選並獲得唯一的數字,「X」和「Y」作爲
預期輸出:
122,112,X,Y
我們可以使用grep
grep("^([0-9]+|X|Y)$", myvec, value=TRUE)
#[1] "122" "112" "X" "Y"
我們也可以定義固定的查找列表,然後匹配。
# messy chromosome names:
myvec <- c("1","12","ghtt1","fff","22","X","Y")
# result
myvec[ which(myvec %in% c(1:22,"X","Y")) ]
# [1] "1" "12" "22" "X" "Y"
謝謝,'value = TRUE'這裏指的是什麼? – MAPK
@MAPK如果你不使用它,'grep'返回它匹配的元素的數字索引,然後你必須對它進行子集化,即'myvec [grep(「^([0-9] + | X | Y) $「,myvec)]'。通過使用'value = TRUE',它返回值而不是索引。 – akrun