2
3 백만 행과 10 열의 데이터 프레임을 다루고 있으며 일부 서브 세트 작업을 수행 중입니다. 아래에 장난감 코드가 있습니다. 부분 집합을하면 오랜 시간이 걸립니다. data.table을 사용하고 data.table에서 하위 집합을 사용하면 속도가 빨라 집니까? 내가 data.table 사용하여 비슷한 일을 할 수있는 방법data.frame 대신 data.table을 사용하여 서브 세트 사용
result <- subset(dat, as.numeric(s) == 100
& p == 5
& name == "bob"
& time >= "2014-10-27 18:11:36 PDT"
& time <= "2014-10-27 18:12:00 PDT"
)
result
s p name time
1 100 5 bob 2014-10-27 18:11:36
2 100 5 bob 2014-10-27 18:11:37
3 100 5 bob 2014-10-27 18:11:38
: 여기
s<-c(100,100,100,800,800,6662,33565,265653262,266532)
p<-c(5,5,5,10,10,10,8,9,10)
name<-c("bob","bob","bob","ed","ed","ed","joe","frank","ted")
time<- as.POSIXct(as.character(c("2014-10-27 18:11:36 PDT","2014-10-27 18:11:37 PDT","2014-10-27 18:11:38 PDT","2014-10-27 18:11:39 PDT","2014-10-27 18:11:40 PDT","2014-10-27 18:11:41 PDT","2014-10-27 19:11:36 PDT","2014-10-27 20:11:36 PDT","2014-10-27 21:11:36 PDT")))
dat<- data.frame(s,p,name,time)
dat
데이터 프레임 :
s p name time
1 100 5 bob 2014-10-27 18:11:36
2 100 5 bob 2014-10-27 18:11:37
3 100 5 bob 2014-10-27 18:11:38
4 800 10 ed 2014-10-27 18:11:39
5 800 10 ed 2014-10-27 18:11:40
6 6662 10 ed 2014-10-27 18:11:41
7 33565 8 joe 2014-10-27 19:11:36
8 265653262 9 frank 2014-10-27 20:11:36
9 266532 10 ted 2014-10-27 21:11:36
가 지금은 dataframe에 부분 집합 여기에 몇 가지 장난감 코드는 ?
감사합니다.
내 코드가 손상되지 않았습니다. data.table을 사용하면 data.frame을 사용하는 것보다 빠를 것입니까? – user3022875
그렇다면 POSIX 타임 스탬프가 문자열보다 작거나 큰지를 확인하기 위해 어떤 환경을 사용해야하는지 잘 모르겠다;). 부분 집합 연산의 경우? 그것을 벤치 마크하고 테스트하십시오. 필자는 데이터에 대해 부분 집합 연산을 수행하여 값을 추출하거나 합성하려는 상황에서 data.table을 사용하는 경향이 있습니다. 훨씬 더 빠릅니다. –