私はcsv形式で次のテーブルを持っています:
csv 形式のテーブルに次の遺伝子情報があります。
                    1       3       1       2     2         3
1415670_at  1   365.1   293.4   288.9   394.5   312     381.6
1415671_at  2   556.1   584.2   567.8   592.8   471.6   513.1
1415672_at  3   1048.3  763.1   1074.9  852.3   826.1   898.3
1415673_at  4   60.8    51.7    51.6    224     248.4   150.7
1415674_at  5   129.1   107.2   230.4   175.5   250.5   172.4
ご覧のとおり、1、2、および 3 のラベルが付いた列がいくつかあります。Excel で 1 および 2 とは異なる列を削除する VB スクリプトを作成しました。私が持っている質問は、Rのみを使用してそれを行うにはどうすればよいですか? 私の結果のテーブルは次のようになります。
                    1   1       2          2        
1415670_at  1   365.1   293.4   394.5     312       
1415671_at  2   556.1   584.2   592.8   471.6   
1415672_at  3   1048.3  763.1   852.3   826.1   
1415673_at  4   60.8    51.7    224     248.4   
1415674_at  5   129.1   107.2   175.5   250.5   
ちなみに、これは単なる例です。他の列に 4、5、6 というラベルを付けることができますが、1 と 2 というラベルの付いた列のみを保持したいと考えています。
投稿されたソリューションを試しました。つまり、次を使用します。
m<-read.csv("test1.csv")
smallerdat <- m[ grep("^X1$|^X2$|X1\\.|X2\\." , names(m) ) ]
ここで、m は csv 形式のテーブルですが、得られた結果は次のとおりです。
    X1  X1.1        X2      X2.2        
365.1   293.4   394.5     312       
556.1   584.2   592.8   471.6   
1048.3  763.1   852.3   826.1   
60.8    51.7    224     248.4   
129.1   107.2   175.5   250.5
したがって、必要な最初の2つの列を削除しています。それらの列を削除しない方法は? また、元の形式を維持する方法、ヘッダーの 1 と 2 のみを意味し、それらの X ではありません