在R中提取不等长度的行会导致数据丢失

时间:2016-08-30 12:34:55

标签: r dataframe grep rows

我有一个看起来像这样的data.set

    head(Statistics3,30)
                        Name Condition Channel EpochCountStd EpochCountDeviant ErpMinTime ErpMinVoltage ErpMinAv
380    AY11042016B1-Deci.EEG      HFMM     AF3           423               103        203          -1.2    -1.10
388  AvdP23052016B1-Deci.EEG      HFMM     AF3           410               101        144          -3.7    -3.20
397    EW20042016B1-Deci.EEG      HFMM     AF3           457               118        123          -2.6    -2.30
413   IG160312016B1-Deci.EEG      HFMM     AF3           435               105        214          -2.2    -1.60
422   IJB18042016B1-Deci.EEG      HFMM     AF3           408               110        121          -1.3    -1.10
439    MC31032016B1-Deci.EEG      HFMM     AF3           438               101        116          -4.0    -3.30
447    MG12042016B1-Deci.EEG      HFMM     AF3           470               118        176          -3.8    -3.60
455    MM13032016B1-Deci.EEG      HFMM     AF3           488               123         18          -0.4    -0.20
479    SH18032016B1-Deci.EEG      HFMM     AF3           438               112        262          -1.7    -1.50
488    WW04042016B1-Deci.EEG      HFMM     AF3           497               122        390          -1.3    -0.40
874    AY11042016B2-Deci.EEG       HFC     AF3           430               111        124          -0.6    -0.40
892    EW20042016B2-Deci.EEG       HFC     AF3           481               120          1          -0.8    -0.70
910   IG160312016B2-Deci.EEG       HFC     AF3           410               105        142          -5.3    -4.80
919   IJB18042016B2-Deci.EEG       HFC     AF3           430               102         33          -2.6    -2.20
946    MG12042016B2-Deci.EEG       HFC     AF3           464               115        182          -2.4    -2.00
955   MM13032016_B2-Deci.EEG       HFC     AF3           438               107        118          -2.5    -2.10
973    RF06042016B2-Deci.EEG       HFC     AF3           386               105        169          -3.6    -3.10
982    SH18032016B2-Deci.EEG       HFC     AF3           405               102         81          -0.8    -0.60
991    WW04042016B2-Deci.EEG       HFC     AF3           504               123        100          -0.8    -0.50
1504   AY11042016B3-Deci.EEG    C_HFMM     AF3           438               107        327          -0.4    -0.10
1513 AvdP23052016B3-Deci.EEG    C_HFMM     AF3           439               113        114          -2.8    -2.40
1522   EW20042016B3-Deci.EEG    C_HFMM     AF3           482               117         59          -0.2     0.50
1540  IG160312016B3-Deci.EEG    C_HFMM     AF3           482               122        261          -1.4    -1.00
1549  IJB18042016B3-Deci.EEG    C_HFMM     AF3           415               108        163          -0.3     0.03
1576   MG12042016B3-Deci.EEG    C_HFMM     AF3           449               117        137          -1.8    -1.50
1585  MM13032016_B3-Deci.EEG    C_HFMM     AF3           475               111        324          -4.2    -3.80
1612   SH30042016B3-Deci.EEG    C_HFMM     AF3           424               110        266          -3.5    -3.10
1621   WW04042016B3-Deci.EEG    C_HFMM     AF3           498               125        141          -1.4    -0.90
2134   AY11042016B4-Deci.EEG     C_HFC     AF3           428               111        230          -1.0    -0.60
2143 AvdP23052016B4-Deci.EEG     C_HFC     AF3           436               114        343          -2.3    -1.80

此表有1354个观测值。至关重要的是,Condition列有8个级别:HFMM,LFMM,HFC,LFC,C_HFMM,C_LFMM,C_HFC,C1_LFMM和C2_LFMM

我正在尝试提取Condition列中具有特定值的行。这是我使用的命令:

NewTable <- Statistics3[Statistics3$Condition == c("HFMM","C_HFMM","LFMM","C_LFMM","C2_LFMM"),]

但是我收到以下错误消息:

Warning messages:
1: In is.na(e1) | is.na(e2) :
  longer object length is not a multiple of shorter object length
2: In `==.default`(Statistics3$Condition, c("HFMM", "C_HFMM", "LFMM",  :
  longer object length is not a multiple of shorter object length

输出NewTable只有163个观察值。我应该提取大约一半Statistics3 data.frame,因为我索引了因子Condition的一半级别,但如果结果data.frame从1354下降到163次观察,显然很多数据没有被转移到新的data.frame。

我认为它与长度不等的向量有关。非常感谢任何帮助。

0 个答案:

没有答案