2016-09-22 82 views
0

特定的列我有一個數據集,看起來這本:選擇從數據集

A B X50_TT_1.0 X50_TT_1.1 X60_DD_2.0 X60_DD_2.1 X100_L2V_7.0 X100_L2V_7.1 
3 1  1   0   0   1   1    0 
6 3  0   1   0   1   0    1 
2 3  1   0   0   1   1    0 
10 5  0   1   1   0   1    0 
0 0  1   0   1   0   0    1 

我希望能有新的數據幀(DF),它僅含有1.1餾分塔,2.1即

df 

X50_TT_1.1 X60_DD_2.1 X100_L2V_7.1 
0    1   0 
1    1   1 
0    1   0 
1    0   0 
0    0   1 

由於這裏我只顯示了幾列,但實際上它包含了超過100列。因此,請提供適用於儘可能多的列數據集的解決方案。

在此先感謝。

+0

也許每隔2列都有一個子集? 'df [,3:ncol(df)] [,c(FALSE,TRUE)]' – zx8754

回答

1

我想模式是,該列以「.1」結尾,可能需要在該點進行調整。我使用

original_data 
    A B X50_TT_1.0 X50_TT_1.1 X60_DD_2.0 X60_DD_2.1 X100_L2V_7.0 X100_L2V_7.1 
1 3 1   1   0   0   1   1   0 

我的數據其實這是一切以 「1」 結尾

df <- original_data[which(grepl(".1$", names(original_data)))] 

對於結束」 .1" 你必須使用:

df <- original_data[which(grepl("\\.1$", names(original_data)))] 

對於original_data都給了我相同的結果:

df 
    X50_TT_1.1 X60_DD_2.1 X100_L2V_7.1 
1   0   1   0 
+0

你不需要在這裏使用'which'。 – lmo

+0

噢謝謝你,其實我對此不確定,謝謝。 –

+0

@BenjaminMohn謝謝! – ROY