아직까지는 묻지는 않았지만 목록의 정보를 여러 수준 및 고르지 않은 구조와 결합하여 "긴"형식의 데이터 프레임으로 만들 수 있습니까?고르지 않은 계층 구조 목록을 데이터 프레임으로 변환
은 특히 : 함께,
> llply(xml.list, function(x) llply(x, function(x) table(names(x))))
$top
$top$atbat
.attrs pitch
1 4
$top$atbat
.attrs pitch
1 4
$top$atbat
.attrs pitch
1 5
$bottom
$bottom$action
b des event o pitch player s
1 1 1 1 1 1 1
$bottom$atbat
.attrs pitch
1 5
$bottom$atbat
.attrs pitch
1 5
$bottom$atbat
.attrs pitch runner
1 5 1
$bottom$atbat
.attrs pitch runner
1 7 1
$.attrs
$.attrs$num
character(0)
$.attrs$away_team
character(0)
$.attrs$
내가 가지고 싶은 것은 피치 범주에서 명명 된 벡터에서 데이터 프레임은 다음
library(XML)
library(plyr)
xml.inning <- "http://gd2.mlb.com/components/game/mlb/year_2009/month_05/day_02/gid_2009_05_02_chamlb_texmlb_1/inning/inning_5.xml"
xml.parse <- xmlInternalTreeParse(xml.inning)
xml.list <- xmlToList(xml.parse)
## $top$atbat
## $top$atbat$pitch
## des id type x y
## "Ball" "310" "B" "70.39" "125.20"
는 구조입니다 (상단, atbat, 하단). 따라서 다른 수의 열로 인해 data.frame에 맞지 않는 레벨은 무시해야합니다. 다음과 같은 내용이 있습니다.
first second third des x
1 top atbat pitch Ball 70.29
2 top atbat pitch Strike 69.24
3 bottom atbat pitch Out 67.22
우아한 방법이 있나요? 감사!
관련 질문 : http://stackoverflow.com/questions/2067098/how-to-transform-xml-data-into-a-data-frame – apeescape