7/26 (목) 44차시

날짜 함수

1. 현재 날짜, 시간

Sys.Date()
Sys.time()
date()

2. as.Date :문자 날짜를 날짜형으로 변환하는 함수

as.Date('2018-07-25'); as.Date('2018/07/25')    as.#as.Date('20180725') :에러
as.Date('20180725', format='%Y%m%d')

3. format

  %Y :세기를 포함한 년도(4자리)
  %y :세기를 생략한 년도(2자리)
  %m :숫자 달 / %B :문자달 / %b :숫자달의 약어
  %d :일 / %A :요일 / %a :요일의 약어
  %u :숫자 요일(1~7:월~일) / %w :숫자 요일(0~6:일~토)
  %H :시 / %M :분 / %S :초 / %z :Timezone의 시간 / %Z :Timezone의 이름
as.Date('2018년 1월 2일', format='%Y년%m월%d일')
## [1] "2018-01-02"
format(Sys.time(),'%y%m%d %z%Z %A%u')
## [1] "180726 +0900KST 목요일4"
format(Sys.time(),'%A %a %u %w')
## [1] "목요일 목 4 4"

4. weekdays :요일을 출력하는 함수

weekdays(Sys.Date())
## [1] "목요일"
weekdays(as.Date('1994/04/18')) #format(as.Date('1994-04-18'), '%A')
## [1] "월요일"

5. 날짜 계산

Sys.Date()+100
## [1] "2018-11-03"
Sys.Date()-206
## [1] "2018-01-01"
as.Date('2018-07-26', format='%Y-%m-%d')+120        #날짜+날짜=에러
## [1] "2018-11-23"
as.Date('2018-05-24', format='%Y-%m-%d')-as.Date('2018-11-23', format='%Y-%m-%d')
## Time difference of -183 days
as.numeric(as.Date('2018-05-24', format='%Y-%m-%d')-as.Date('2018-11-23', format='%Y-%m-%d'))
## [1] -183

6. difftime 함수 :두 날짜 간의 일수를 표현하는 함수

difftime('2018-11-23',Sys.Date())   #difftime(as.Date('2018-11-23'),Sys.Date())
## Time difference of 119.625 days
as.numeric(difftime('2018-11-23',Sys.Date()))
## [1] 119.625

7. as.difftime 함수 :시간의 차이

as.difftime('09:30:00')-as.difftime('18:20:00')
## Time difference of -8.833333 hours
as.numeric(as.difftime('09:30:00')-as.difftime('18:20:00'))
## [1] -8.833333

8. lubridate

#install.packages("lubridate")
library(lubridate) #패키지 설치시 R 삭제 전까진 유지, 다만 사용할 때마다 library로 불러온다.
## 
## Attaching package: 'lubridate'
## The following object is masked from 'package:base':
## 
##     date
emp<-read.csv(choose.files(), header=T, stringsAsFactors = FALSE)
now()       #now( ) :현재 시간 정보  →now는 lubridate패키지 내장 함수
## [1] "2018-07-26 18:50:52 KST"
year(now()) #현재의 년도 추출
## [1] 2018
month(now())    #현재의 달 추출
## [1] 7
date<-now()
month(date)
## [1] 7
month(date, label=T); month(date, label=F)  #factor형이기 때문에 level이 있어 label로 확인한다
## [1] 7
## Levels: 1 < 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < 10 < 11 < 12
## [1] 7
format(Sys.time(), '%m')
## [1] "07"
day(now())  #현재의 일 추출
## [1] 26
day(date); format(Sys.time(), '%d')
## [1] 26
## [1] "26"
format(Sys.time(), '%A')    #현재의 요일 추출
## [1] "목요일"
format(Sys.time(), '%u'); format(Sys.time(), '%w');
## [1] "4"
## [1] "4"
wday(now())
## [1] 5
wday(now(), week_start=1)   #월요일 기준
## [1] 4
wday(now(), week_start=7)   #일요일 기준
## [1] 5
wday(now(), week_start=7, label=T)
## [1] 목
## Levels: 일 < 월 < 화 < 수 < 목 < 금 < 토
years(10); months(100)
## [1] "10y 0m 0d 0H 0M 0S"
## [1] "100m 0d 0H 0M 0S"
now()+years(10) #select sysdate+to_yminterval('10-00') from dual;
## [1] "2028-07-26 18:50:52 KST"
now()+months(100)
## [1] "2026-11-26 18:50:52 KST"
now()+days(100) #select sysdate+to_dsinterval('100 00:00:00') from dual;
## [1] "2018-11-03 18:50:52 KST"
now()+hours(3); now()+minutes(100); now()+seconds(100)
## [1] "2018-07-26 21:50:52 KST"
## [1] "2018-07-26 20:30:52 KST"
## [1] "2018-07-26 18:52:32 KST"
now()+years(1)+months(1)+days(1)+hours(10)+minutes(20)+seconds(60)
## [1] "2019-08-28 05:11:52 KST"
hm('8:00')  #시간/분/초 출력
## [1] "8H 0M 0S"
now()+hm('8:00'); now()+hm('02:30:59')
## [1] "2018-07-27 02:50:52 KST"
## Warning in .parse_hms(..., order = "HM", quiet = quiet): Some strings
## failed to parse, or all strings are NAs
## [1] NA
date<-now(); date; year(date)<-2017; date   #연도 수정
## [1] "2018-07-26 18:50:52 KST"
## [1] "2017-07-26 18:50:52 KST"
month(date)<-1; date    #달 수정
## [1] "2017-01-26 18:50:52 KST"
day(date)<-1; date      #일 수정
## [1] "2017-01-01 18:50:52 KST"
hour(date)<-00; date    #시간 수정
## [1] "2017-01-01 00:50:52 KST"
minute(date)<-00; date  #분 수정
## [1] "2017-01-01 00:00:52 KST"
second(date)<-00; date  #초 수정
## [1] "2017-01-01 KST"

9. 분기

quarters(Sys.Date())
## [1] "Q3"

POSIX(Portable Operating System Interface)

-UNIX간 소통 가능한 프로그램 인터페이스 규약
-POSIXct(continuous) POSIXt(POSIXlt)(list time)
-R은 날짜, 시간 데이터를 처리 할 수 있도록 POSIXct, POSIXt(POSIXlt)클래스를 이용한다.

Sys.time()
## [1] "2018-07-26 18:50:52 KST"
as.numeric(Sys.time())
## [1] 1532598653
time<-as.POSIXlt(Sys.time()); unlist(time)
##                sec                min               hour 
## "52.7847170829773"               "50"               "18" 
##               mday                mon               year 
##               "26"                "6"              "118" 
##               wday               yday              isdst 
##                "4"              "206"                "0" 
##               zone             gmtoff 
##              "KST"            "32400"
#sec :초
#min :분
#hour :시
#mday :그 달의 일
#mon :1월을 0으로 두고 계산된 값. 즉, (n월-1)이 된다
#year :1900년을 0으로 두고 계산 된 값. 즉, 2018=1900+118
#wday :일요일을 0으로 두고 센다.
#yday :1월 1일을 0으로 두고 계산.
#isdst :서머타임
#zone :timezone name
#gmtoff :timezone의 시 단위를 초(sec)로 나타낸 것  #+9(지역)*60*60
date<-'2018-07-26'
class(as.Date(date, format='%Y-%m-%d'))
## [1] "Date"
strptime(date, format='%Y-%m-%d')       #strptime :POSIX로 바꾸는 형전환 함수
## [1] "2018-07-26 KST"
class(strptime(date, format='%Y-%m-%d'))
## [1] "POSIXlt" "POSIXt"

중복 제거

unique(emp$JOB_ID)
##  [1] "SH_CLERK"   "AD_ASST"    "MK_MAN"     "MK_REP"     "HR_REP"    
##  [6] "PR_REP"     "AC_MGR"     "AC_ACCOUNT" "AD_PRES"    "AD_VP"     
## [11] "IT_PROG"    "FI_MGR"     "FI_ACCOUNT" "PU_MAN"     "PU_CLERK"  
## [16] "ST_MAN"     "ST_CLERK"   "SA_MAN"     "SA_REP"

정렬(SORT)

x<-c(3,2,4,8,6,5,10,NA,1,11,NA,15)
sort(x)
##  [1]  1  2  3  4  5  6  8 10 11 15
sort(x, decreasing=FALSE)   #오름차순 정렬(기본값)
##  [1]  1  2  3  4  5  6  8 10 11 15
sort(x, decreasing=TRUE)    #내림차순 정렬
##  [1] 15 11 10  8  6  5  4  3  2  1
sort(x, decreasing=FALSE, na.last=NA)   #NA출력되지 않음(기본값)
##  [1]  1  2  3  4  5  6  8 10 11 15
sort(x, decreasing=FALSE, na.last=TRUE) #결과값 맨 뒤에 NA출력
##  [1]  1  2  3  4  5  6  8 10 11 15 NA NA
sort(x, decreasing=FALSE, na.last=FALSE)    #결과값 맨 앞에 NA출력
##  [1] NA NA  1  2  3  4  5  6  8 10 11 15
rev(sort(x))    #리버스. 내림차순 정렬과 동일
##  [1] 15 11 10  8  6  5  4  3  2  1

order :정렬의 색인(=위치값/인덱스 번호)을 반환

x<-c(30,50,10,40,20); sort(x)
## [1] 10 20 30 40 50
order(x)        #10이 3번 자리, 20이 5번 자리, 30이 1번 자리...
## [1] 3 5 1 4 2
x[order(x)] #인덱스 번호 sort
## [1] 10 20 30 40 50
x[order(x, decreasing=TRUE, na.last=NA)]
## [1] 50 40 30 20 10
x[order(x, decreasing=TRUE, na.last=TRUE)]
## [1] 50 40 30 20 10
x[order(x, decreasing=TRUE, na.last=FALSE)]
## [1] 50 40 30 20 10

doBy :데이터 프레임 정렬

#install.packages("doBy")
library(doBy)

orderBy(~SALARY, emp[,c("LAST_NAME", "SALARY")])    #오름차순 정렬
##       LAST_NAME SALARY
## 42        Olson   2100
## 38       Markle   2200
## 46   Philtanker   2200
## 37       Landry   2400
## 45          Gee   2400
## 29   Colmenares   2500
## 41       Marlow   2500
## 50        Patel   2500
## 54       Vargas   2500
## 92     Sullivan   2500
## 101     Perkins   2500
## 1      OConnell   2600
## 2         Grant   2600
## 28       Himuro   2600
## 53        Matos   2600
## 36  Mikkilineni   2700
## 49          Seo   2700
## 27       Tobias   2800
## 40     Atkinson   2800
## 93        Geoni   2800
## 105       Jones   2800
## 26        Baida   2900
## 44       Rogers   2900
## 100       Gates   2900
## 97       Cabrio   3000
## 107      Feeney   3000
## 25         Khoo   3100
## 52       Davies   3100
## 91       Fleaur   3100
## 106       Walsh   3100
## 35        Nayer   3200
## 48       Stiles   3200
## 90       Taylor   3200
## 104      McCain   3200
## 39       Bissot   3300
## 43       Mallin   3300
## 96    Dellinger   3400
## 51         Rajs   3500
## 47       Ladwig   3600
## 99        Dilly   3600
## 98        Chung   3800
## 103     Everett   3900
## 102        Bell   4000
## 95         Bull   4100
## 17      Lorentz   4200
## 94     Sarchand   4200
## 3        Whalen   4400
## 15       Austin   4800
## 16    Pataballa   4800
## 34      Mourgos   5800
## 5           Fay   6000
## 14        Ernst   6000
## 83        Kumar   6100
## 77        Banda   6200
## 89      Johnson   6200
## 76         Ande   6400
## 6        Mavris   6500
## 33      Vollman   6500
## 75          Lee   6800
## 23         Popp   6900
## 65      Tuvault   7000
## 71       Sewall   7000
## 88        Grant   7000
## 74      Marvins   7200
## 82        Bates   7300
## 81        Smith   7400
## 64    Cambrault   7500
## 70        Doran   7500
## 21      Sciarra   7700
## 22        Urman   7800
## 32     Kaufling   7900
## 30        Weiss   8000
## 63        Olsen   8000
## 69        Smith   8000
## 20         Chen   8200
## 31        Fripp   8200
## 9         Gietz   8300
## 87   Livingston   8400
## 86       Taylor   8600
## 85       Hutton   8800
## 13       Hunold   9000
## 19       Faviet   9000
## 62         Hall   9000
## 68       McEwen   9000
## 61    Bernstein   9500
## 67        Sully   9500
## 73       Greene   9500
## 80          Fox   9600
## 7          Baer  10000
## 60       Tucker  10000
## 66         King  10000
## 79        Bloom  10000
## 59      Zlotkey  10500
## 72      Vishney  10500
## 24     Raphaely  11000
## 58    Cambrault  11000
## 84         Abel  11000
## 78         Ozer  11500
## 57    Errazuriz  12000
## 8       Higgins  12008
## 18    Greenberg  12008
## 4     Hartstein  13000
## 56     Partners  13500
## 55      Russell  14000
## 11      Kochhar  17000
## 12      De Haan  17000
## 10         King  29040
orderBy(~-SALARY, emp[,c("LAST_NAME", "SALARY")])   #내림차순 정렬
##       LAST_NAME SALARY
## 10         King  29040
## 11      Kochhar  17000
## 12      De Haan  17000
## 55      Russell  14000
## 56     Partners  13500
## 4     Hartstein  13000
## 8       Higgins  12008
## 18    Greenberg  12008
## 57    Errazuriz  12000
## 78         Ozer  11500
## 24     Raphaely  11000
## 58    Cambrault  11000
## 84         Abel  11000
## 59      Zlotkey  10500
## 72      Vishney  10500
## 7          Baer  10000
## 60       Tucker  10000
## 66         King  10000
## 79        Bloom  10000
## 80          Fox   9600
## 61    Bernstein   9500
## 67        Sully   9500
## 73       Greene   9500
## 13       Hunold   9000
## 19       Faviet   9000
## 62         Hall   9000
## 68       McEwen   9000
## 85       Hutton   8800
## 86       Taylor   8600
## 87   Livingston   8400
## 9         Gietz   8300
## 20         Chen   8200
## 31        Fripp   8200
## 30        Weiss   8000
## 63        Olsen   8000
## 69        Smith   8000
## 32     Kaufling   7900
## 22        Urman   7800
## 21      Sciarra   7700
## 64    Cambrault   7500
## 70        Doran   7500
## 81        Smith   7400
## 82        Bates   7300
## 74      Marvins   7200
## 65      Tuvault   7000
## 71       Sewall   7000
## 88        Grant   7000
## 23         Popp   6900
## 75          Lee   6800
## 6        Mavris   6500
## 33      Vollman   6500
## 76         Ande   6400
## 77        Banda   6200
## 89      Johnson   6200
## 83        Kumar   6100
## 5           Fay   6000
## 14        Ernst   6000
## 34      Mourgos   5800
## 15       Austin   4800
## 16    Pataballa   4800
## 3        Whalen   4400
## 17      Lorentz   4200
## 94     Sarchand   4200
## 95         Bull   4100
## 102        Bell   4000
## 103     Everett   3900
## 98        Chung   3800
## 47       Ladwig   3600
## 99        Dilly   3600
## 51         Rajs   3500
## 96    Dellinger   3400
## 39       Bissot   3300
## 43       Mallin   3300
## 35        Nayer   3200
## 48       Stiles   3200
## 90       Taylor   3200
## 104      McCain   3200
## 25         Khoo   3100
## 52       Davies   3100
## 91       Fleaur   3100
## 106       Walsh   3100
## 97       Cabrio   3000
## 107      Feeney   3000
## 26        Baida   2900
## 44       Rogers   2900
## 100       Gates   2900
## 27       Tobias   2800
## 40     Atkinson   2800
## 93        Geoni   2800
## 105       Jones   2800
## 36  Mikkilineni   2700
## 49          Seo   2700
## 1      OConnell   2600
## 2         Grant   2600
## 28       Himuro   2600
## 53        Matos   2600
## 29   Colmenares   2500
## 41       Marlow   2500
## 50        Patel   2500
## 54       Vargas   2500
## 92     Sullivan   2500
## 101     Perkins   2500
## 37       Landry   2400
## 45          Gee   2400
## 38       Markle   2200
## 46   Philtanker   2200
## 42        Olson   2100
orderBy(~DEPARTMENT_ID+SALARY, emp[,c("LAST_NAME", "SALARY", "DEPARTMENT_ID")])  #=select last_name, salary, department_id from employees order by department_id, salary
##       LAST_NAME SALARY DEPARTMENT_ID
## 3        Whalen   4400            10
## 5           Fay   6000            20
## 4     Hartstein  13000            20
## 29   Colmenares   2500            30
## 28       Himuro   2600            30
## 27       Tobias   2800            30
## 26        Baida   2900            30
## 25         Khoo   3100            30
## 24     Raphaely  11000            30
## 6        Mavris   6500            40
## 42        Olson   2100            50
## 38       Markle   2200            50
## 46   Philtanker   2200            50
## 37       Landry   2400            50
## 45          Gee   2400            50
## 41       Marlow   2500            50
## 50        Patel   2500            50
## 54       Vargas   2500            50
## 92     Sullivan   2500            50
## 101     Perkins   2500            50
## 1      OConnell   2600            50
## 2         Grant   2600            50
## 53        Matos   2600            50
## 36  Mikkilineni   2700            50
## 49          Seo   2700            50
## 40     Atkinson   2800            50
## 93        Geoni   2800            50
## 105       Jones   2800            50
## 44       Rogers   2900            50
## 100       Gates   2900            50
## 97       Cabrio   3000            50
## 107      Feeney   3000            50
## 52       Davies   3100            50
## 91       Fleaur   3100            50
## 106       Walsh   3100            50
## 35        Nayer   3200            50
## 48       Stiles   3200            50
## 90       Taylor   3200            50
## 104      McCain   3200            50
## 39       Bissot   3300            50
## 43       Mallin   3300            50
## 96    Dellinger   3400            50
## 51         Rajs   3500            50
## 47       Ladwig   3600            50
## 99        Dilly   3600            50
## 98        Chung   3800            50
## 103     Everett   3900            50
## 102        Bell   4000            50
## 95         Bull   4100            50
## 94     Sarchand   4200            50
## 34      Mourgos   5800            50
## 33      Vollman   6500            50
## 32     Kaufling   7900            50
## 30        Weiss   8000            50
## 31        Fripp   8200            50
## 17      Lorentz   4200            60
## 15       Austin   4800            60
## 16    Pataballa   4800            60
## 14        Ernst   6000            60
## 13       Hunold   9000            60
## 7          Baer  10000            70
## 83        Kumar   6100            80
## 77        Banda   6200            80
## 89      Johnson   6200            80
## 76         Ande   6400            80
## 75          Lee   6800            80
## 65      Tuvault   7000            80
## 71       Sewall   7000            80
## 74      Marvins   7200            80
## 82        Bates   7300            80
## 81        Smith   7400            80
## 64    Cambrault   7500            80
## 70        Doran   7500            80
## 63        Olsen   8000            80
## 69        Smith   8000            80
## 87   Livingston   8400            80
## 86       Taylor   8600            80
## 85       Hutton   8800            80
## 62         Hall   9000            80
## 68       McEwen   9000            80
## 61    Bernstein   9500            80
## 67        Sully   9500            80
## 73       Greene   9500            80
## 80          Fox   9600            80
## 60       Tucker  10000            80
## 66         King  10000            80
## 79        Bloom  10000            80
## 59      Zlotkey  10500            80
## 72      Vishney  10500            80
## 58    Cambrault  11000            80
## 84         Abel  11000            80
## 78         Ozer  11500            80
## 57    Errazuriz  12000            80
## 56     Partners  13500            80
## 55      Russell  14000            80
## 11      Kochhar  17000            90
## 12      De Haan  17000            90
## 10         King  29040            90
## 23         Popp   6900           100
## 21      Sciarra   7700           100
## 22        Urman   7800           100
## 20         Chen   8200           100
## 19       Faviet   9000           100
## 18    Greenberg  12008           100
## 9         Gietz   8300           110
## 8       Higgins  12008           110
## 88        Grant   7000            NA
orderBy(~-DEPARTMENT_ID-SALARY, emp[,c("LAST_NAME", "SALARY", "DEPARTMENT_ID")])  #=select last_name, salary, department_id from employees order by department_id desc, salary desc
##       LAST_NAME SALARY DEPARTMENT_ID
## 8       Higgins  12008           110
## 9         Gietz   8300           110
## 18    Greenberg  12008           100
## 19       Faviet   9000           100
## 20         Chen   8200           100
## 22        Urman   7800           100
## 21      Sciarra   7700           100
## 23         Popp   6900           100
## 10         King  29040            90
## 11      Kochhar  17000            90
## 12      De Haan  17000            90
## 55      Russell  14000            80
## 56     Partners  13500            80
## 57    Errazuriz  12000            80
## 78         Ozer  11500            80
## 58    Cambrault  11000            80
## 84         Abel  11000            80
## 59      Zlotkey  10500            80
## 72      Vishney  10500            80
## 60       Tucker  10000            80
## 66         King  10000            80
## 79        Bloom  10000            80
## 80          Fox   9600            80
## 61    Bernstein   9500            80
## 67        Sully   9500            80
## 73       Greene   9500            80
## 62         Hall   9000            80
## 68       McEwen   9000            80
## 85       Hutton   8800            80
## 86       Taylor   8600            80
## 87   Livingston   8400            80
## 63        Olsen   8000            80
## 69        Smith   8000            80
## 64    Cambrault   7500            80
## 70        Doran   7500            80
## 81        Smith   7400            80
## 82        Bates   7300            80
## 74      Marvins   7200            80
## 65      Tuvault   7000            80
## 71       Sewall   7000            80
## 75          Lee   6800            80
## 76         Ande   6400            80
## 77        Banda   6200            80
## 89      Johnson   6200            80
## 83        Kumar   6100            80
## 7          Baer  10000            70
## 13       Hunold   9000            60
## 14        Ernst   6000            60
## 15       Austin   4800            60
## 16    Pataballa   4800            60
## 17      Lorentz   4200            60
## 31        Fripp   8200            50
## 30        Weiss   8000            50
## 32     Kaufling   7900            50
## 33      Vollman   6500            50
## 34      Mourgos   5800            50
## 94     Sarchand   4200            50
## 95         Bull   4100            50
## 102        Bell   4000            50
## 103     Everett   3900            50
## 98        Chung   3800            50
## 47       Ladwig   3600            50
## 99        Dilly   3600            50
## 51         Rajs   3500            50
## 96    Dellinger   3400            50
## 39       Bissot   3300            50
## 43       Mallin   3300            50
## 35        Nayer   3200            50
## 48       Stiles   3200            50
## 90       Taylor   3200            50
## 104      McCain   3200            50
## 52       Davies   3100            50
## 91       Fleaur   3100            50
## 106       Walsh   3100            50
## 97       Cabrio   3000            50
## 107      Feeney   3000            50
## 44       Rogers   2900            50
## 100       Gates   2900            50
## 40     Atkinson   2800            50
## 93        Geoni   2800            50
## 105       Jones   2800            50
## 36  Mikkilineni   2700            50
## 49          Seo   2700            50
## 1      OConnell   2600            50
## 2         Grant   2600            50
## 53        Matos   2600            50
## 41       Marlow   2500            50
## 50        Patel   2500            50
## 54       Vargas   2500            50
## 92     Sullivan   2500            50
## 101     Perkins   2500            50
## 37       Landry   2400            50
## 45          Gee   2400            50
## 38       Markle   2200            50
## 46   Philtanker   2200            50
## 42        Olson   2100            50
## 6        Mavris   6500            40
## 24     Raphaely  11000            30
## 25         Khoo   3100            30
## 26        Baida   2900            30
## 27       Tobias   2800            30
## 28       Himuro   2600            30
## 29   Colmenares   2500            30
## 4     Hartstein  13000            20
## 5           Fay   6000            20
## 3        Whalen   4400            10
## 88        Grant   7000            NA
orderBy(~DEPARTMENT_ID-SALARY, emp[,c("LAST_NAME", "SALARY", "DEPARTMENT_ID")])  #=select last_name, salary, department_id from employees order by department_id, salary desc
##       LAST_NAME SALARY DEPARTMENT_ID
## 3        Whalen   4400            10
## 4     Hartstein  13000            20
## 5           Fay   6000            20
## 24     Raphaely  11000            30
## 25         Khoo   3100            30
## 26        Baida   2900            30
## 27       Tobias   2800            30
## 28       Himuro   2600            30
## 29   Colmenares   2500            30
## 6        Mavris   6500            40
## 31        Fripp   8200            50
## 30        Weiss   8000            50
## 32     Kaufling   7900            50
## 33      Vollman   6500            50
## 34      Mourgos   5800            50
## 94     Sarchand   4200            50
## 95         Bull   4100            50
## 102        Bell   4000            50
## 103     Everett   3900            50
## 98        Chung   3800            50
## 47       Ladwig   3600            50
## 99        Dilly   3600            50
## 51         Rajs   3500            50
## 96    Dellinger   3400            50
## 39       Bissot   3300            50
## 43       Mallin   3300            50
## 35        Nayer   3200            50
## 48       Stiles   3200            50
## 90       Taylor   3200            50
## 104      McCain   3200            50
## 52       Davies   3100            50
## 91       Fleaur   3100            50
## 106       Walsh   3100            50
## 97       Cabrio   3000            50
## 107      Feeney   3000            50
## 44       Rogers   2900            50
## 100       Gates   2900            50
## 40     Atkinson   2800            50
## 93        Geoni   2800            50
## 105       Jones   2800            50
## 36  Mikkilineni   2700            50
## 49          Seo   2700            50
## 1      OConnell   2600            50
## 2         Grant   2600            50
## 53        Matos   2600            50
## 41       Marlow   2500            50
## 50        Patel   2500            50
## 54       Vargas   2500            50
## 92     Sullivan   2500            50
## 101     Perkins   2500            50
## 37       Landry   2400            50
## 45          Gee   2400            50
## 38       Markle   2200            50
## 46   Philtanker   2200            50
## 42        Olson   2100            50
## 13       Hunold   9000            60
## 14        Ernst   6000            60
## 15       Austin   4800            60
## 16    Pataballa   4800            60
## 17      Lorentz   4200            60
## 7          Baer  10000            70
## 55      Russell  14000            80
## 56     Partners  13500            80
## 57    Errazuriz  12000            80
## 78         Ozer  11500            80
## 58    Cambrault  11000            80
## 84         Abel  11000            80
## 59      Zlotkey  10500            80
## 72      Vishney  10500            80
## 60       Tucker  10000            80
## 66         King  10000            80
## 79        Bloom  10000            80
## 80          Fox   9600            80
## 61    Bernstein   9500            80
## 67        Sully   9500            80
## 73       Greene   9500            80
## 62         Hall   9000            80
## 68       McEwen   9000            80
## 85       Hutton   8800            80
## 86       Taylor   8600            80
## 87   Livingston   8400            80
## 63        Olsen   8000            80
## 69        Smith   8000            80
## 64    Cambrault   7500            80
## 70        Doran   7500            80
## 81        Smith   7400            80
## 82        Bates   7300            80
## 74      Marvins   7200            80
## 65      Tuvault   7000            80
## 71       Sewall   7000            80
## 75          Lee   6800            80
## 76         Ande   6400            80
## 77        Banda   6200            80
## 89      Johnson   6200            80
## 83        Kumar   6100            80
## 10         King  29040            90
## 11      Kochhar  17000            90
## 12      De Haan  17000            90
## 18    Greenberg  12008           100
## 19       Faviet   9000           100
## 20         Chen   8200           100
## 22        Urman   7800           100
## 21      Sciarra   7700           100
## 23         Popp   6900           100
## 8       Higgins  12008           110
## 9         Gietz   8300           110
## 88        Grant   7000            NA