0
我想從數據框中刪除使用數字向量的列,這些數字只是整個列標題的一部分。我想要使用的是像unix中的通配符「*」,所以我可以說,我想要刪除帶有標籤的列xxxx,xxkx等...爲了說明我的意思,如果我有以下數據:如何使用帶有正則表達式的向量從數據框中刪除數據列
data_test_read <- read.table("batch_1_8c9.structure-edit.tsv",sep="\t", header=TRUE)
data_test_read[1:5,1:5]
samp pop X12706_10 X14223_16 X14481_7
1 BayOfIslands_s088.fq 1 4 1 3
2 BayOfIslands_s088.fq 1 4 1 3
3 BayOfIslands_s089.fq 1 4 1 3
4 BayOfIslands_s089.fq 1 4 3 3
5 BayOfIslands_s090.fq 1 4 1 3
而且我想冒了出來,例如,用頭(X12706_10,X14481_7),以下工作
data_subs1=subset(data_test_read, select = -c(X12706_10, X14481_7))
data_subs1[1:4,1:4]
samp pop X14223_16 X15213_19
1 BayOfIslands_s088.fq 1 1 3
2 BayOfIslands_s088.fq 1 1 3
3 BayOfIslands_s089.fq 1 1 3
4 BayOfIslands_s089.fq 1 3 3
不過,我需要的列是要能夠僅通過數字來識別這些列,因此使用(12706,14481)。但是,如果我嘗試,我得到以下
data_subs2=subset(data_test_read, select = -c(12706,14481))
data_subs2[1:4,1:4]
samp pop X12706_10 X14223_16
1 BayOfIslands_s088.fq 1 4 1
2 BayOfIslands_s088.fq 1 4 1
3 BayOfIslands_s089.fq 1 4 1
4 BayOfIslands_s089.fq 1 4 3
這顯然是因爲我還沒有指定什麼關係的「X」,或「_」或什麼是下劃線後。我已經閱讀了很多關於使用正則表達式的答案,而我似乎無法將其整理出來。任何想法,或指向我可能會轉向,將不勝感激。