2016-07-22 2 views
0

이 웹 사이트에서 표를 읽으려고합니다.readHTMLTable을 사용하여 웹 사이트에서 표를 가져올 때 일부 열만 읽기

http://www.databaseolympics.com/games/gamessport.htm?g=1&sp=ATH

문제는 내가 첫 번째 열 (이벤트)와 마지막 열 (메달)을 읽을 수 있도록 할 것입니다. 이 내 코드 및 결과 : 당신이 테이블의 모든 열을 반환 볼 수 있듯이

temp_URL<-'http://www.databaseolympics.com/games/gamessport.htm?g=1&sp=ATH' 
tab<-readHTMLTable(temp_URL, which=3,colClasses = c('factor',NULL,NULL,NULL,'factor')) 
head(tab) 

    Event   Athlete Country Result Medal 
1 100m Men  Tom Burke  USA  12.0 GOLD 
2   Fritz Hofmann  DEU 12.2 est. SILVER 
3    Francis Lane  USA  12.6 BRONZE 
4   Alajos Szokolyi  HUN 12.6 est. BRONZE 
5 400m Men  Tom Burke  USA  54.2 GOLD 
6   Herbert Jamison  USA  n/a SILVER 

. 나는 R Documentation에서 colClasses를 사용하고 Null 값을 지정하면 R이 해당 열을 무시하도록해야한다고 읽었지만 나에게 적합하지 않습니다.

tab<-data.frame(tab$Event,tab$Medal) 
    head(tab) 
     tab.Event tab.Medal 
    1 100m Men  GOLD 
    2    SILVER 
    3    BRONZE 
    4    BRONZE 
    5 400m Men  GOLD 
    6    SILVER 

난 정말만을 요구하는 방법이 추가 단계를 방지하고 찾고 싶은 : 당신은 그냥 원하는 열이있는 새로운 데이터 프레임을 생성하는 것은 매우 쉽습니다 R의 데이터를 일단 나는 실현 데이터가 R에 들어 오면이 페이지는 수천 페이지를 읽어야하는 코드의 일부이며 여러 번 실행하면 시간이 오래 걸릴 수 있습니다. 대신 벡터의

답변

0

사용 목록 :

temp_URL<-'http://www.databaseolympics.com/games/gamessport.htm?g=1&sp=ATH' 

tab<-readHTMLTable(temp_URL, which=3,colClasses = list("factor",NULL,NULL,NULL,"factor"),stringsAsFactors = FALSE) 

head(tab) 
       V1  V2 
     1 100m Men GOLD 
     2   SILVER 
     3   BRONZE 
     4   BRONZE 
     5 400m Men GOLD 
     6   SILVER 
+0

그것은 worked.Thanks – Lee