도움이 필요한 성능 문제가 있습니다. 설명 나와 함께하시기 바랍니다 곰 :문자열 일치의 속도와 속도를 가속화하십시오.
을 내가 (쉽게 표시의 처음 4 개 라인 ~ 5000) 알려진 자동차 빈 번호와 년의 데이터베이스를 가지고 : 나는 또한 AA가 .txt 문서가
>vinDB
>ToyotaCarola 2008
IJDINJNDJIJKNDJIMKDK0897
NissanAltima 1998
LJIODJJNJDJNJDNJNJDJ7765
을 즉 고유 DMV ID, 입력 전압 번호 및 다음과 같은 방법으로 참조 번호를 보여줍니다 (만 4 라인 ~ 5500 만은 쉽게 표시) : 나는 모든 두 번째 줄을 스캔하면됩니다 싶습니다 무엇
>carFile
>#DMVcorrNumber33:1245638:563892:6378
IJDINJNDJIJKNDJIMKDK0897
+
VIN#IDref6388546
#DMVcorrNumber33:1245638:563892:6378
LJIODJJNJDJNJDNJNJDJ7765
+
VIN#IDref2453663
(VIN #)을 내 'vinDB'파일에서 내 'carFile'fi의 두 번째 줄부터 네 번째 줄까지 완벽한 경기를 위해 르. 일치하는 것이 있다면, 나는 car의 이름을 출력하고, 'carFile'파일에 몇 번이나 나타나는지 보여주고 싶습니다.
그래서 기본적으로, 나는이 필요합니다 지금까지 내가 잘린 'carFile'파일에 작동하지만, 내 R 프로그램을 충돌 다음 코드를 시도 할 때
Car Year NumTimesFound
ToyotaCarola 2008 238
NissanAltima 1998 1755
그것은 모든 ~ 5500 만 라인 : quicked보다 효율적 위에
1) 코드를 확인하십시오
VinCounter<-function(carFile, vinDB)
{
i=1 #index inner while loop
j=1 #index outer while loop
m=2 #index of vinDB, starts at '2' because first VIN# is on line 2
s=2 #index of carFile
count=0
while(j<=length(rownames(vinDB))/2) # VIN# is on every 2nd line in vinDB file
{
while(i<=length(rownames(carFile))/4)# VIN# is on every 4th line in carFile file
{
if(vinDB[m,1]==carFile[s,1])
{
count=count+1
s=s+4
}
else
{
s=s+4
}
i=i+1
}
print(vinDB[m-1,1])
print(count)
count=0
s=2
i=1
m=m+2
j=j+1
}
}
그래서, 기본적으로, 나는 어떻게 파악하고 싶습니다.
2) 내 출력을 .txt 또는 .csv 파일에 저장하는 방법 (지금은 출력이 화면에 표시되기 때문에).
감사합니다.
대단히 감사합니다. 나는 'data.table'의 힘을 한 번에 그리고 모두 배울 필요가있다. 다시 한 번 감사드립니다! –