如何通过100多个唯一字符串提取矢量,而无需在R中手动输入所有字符串

时间:2016-02-05 17:14:03

标签: r vector

我的数据集超过86,000个不同的行和27个变量。它列出了不同的个人,他们的公司,百分比出勤率等等。每家公司都有从2010年至2011年的数据,从9月开始一直到2015-2016。

数据集的一部分在下面有省略和省略号以指示转换。

yr      Company month MO    % Attendance    %Change
2010-11 "015JK" 1    SEP    88.21   
2010-11 "015JK" 2    OCT    92.51             4.31
2010-11 "015JK" 3    NOV    90.97            -1.54
2010-11 "015JK" 4    DEC    89.19            -1.78
2010-11 "015JK" 5    JAN    86.88            -2.31
2010-11 "015JK" 6    FEB    89.28             2.4

...

yr        Company  month MO % Attendance     %Change
2015-2016  015JK    1   JAN   82    
2015-2016  015JK    2   FEB   64               -18
2015-2016  015JK    3   MAR   94                30
2015-2016  015JK    4   APRIL 98                4
2015-2016  015JK    5   MAY   50                -48
2015-2016  015JK    6   JUNE  68                18

这是一组典型的数据,我们重新开始,但这次我们从一家新公司开始:

yr           Company    month   MO    %Attendance          %Change
2010-2011    0184JK     1       JAN     49  
2010-2011    0184JK     2       FEB     52                   3
2010-2011    0184JK     3       MAR     82                   30
2010-2011    0184JK     4       APRIL   55                  -27
2010-2011    0184JK     5       MAY     53                   -2
2010-2011    0184JK     6       JUNE    80                   27

...

yr           Company    month   MO     %Attendance      %Change
2015-2016    0184JK      1      JAN        87   
2015-2016    0184JK      2      FEB        47              -40
2015-2016    0184JK      3      MAR        61               14
2015-2016    0184JK      4      APRIL      78               17
2015-2016    0184JK      5      MAY        43              -35
2015-2016    0184JK      6     JUNE        85               42

我可以使用以下 R 代码从大量的86,000行数据表中相对轻松地捕获这些数据集

015JK <- df[ which( df$Company== "015J"), ]
0184JK <- df[ which( df$Company== "0184JK"), ]

问题是,我有超过100多家公司,输入90多次迭代会很繁琐

some company name such as 015JK <-df[ which(df$company== "some company      
name"), ]

有没有办法提取公司的唯一值,然后将其输入到以下上述种类的多次迭代中:

some company code name such as 015JK <-df[ which(df$company== "some company      
code"), ]

0 个答案:

没有答案