从数据集中选择特定列

时间:2016-09-22 10:11:22

标签: r

我有一个看起来像这样的数据集:

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列。因此,请提供适用于数据集所包含的多列的解决方案。

提前致谢。

1 个答案:

答案 0 :(得分: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)))]

以&#34; .1&#34;结尾你必须使用:

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