0

さらに分析するために、 .tcxファイル (XML 形式の gps およびフィットネス データ) をインポートしてマージしています。

files <- dir(pattern = "\\.tcx")
ldf   <- lapply(files, 
      function(x) plyr::ldply(
            getNodeSet(xmlParse(x), "//ns:Trackpoint", "ns"), 
            as.data.frame(xmlToList)))
mydf  <- plyr::rbind.fill(mydf)
setNames(mydf, c('time', 'lat', 'long', 'alt', 'heartrate'))

これはうまく機能しますが、ファイル ID を含む 1 つの列を追加する必要があります。これはカウンターになる可能性がありますが、追加された列にファイル名を含めることを好みます。この列を追加するにはどうすればよいですか?

4

3 に答える 3

3

再現可能な例がなければ解決策を提示するのは難しく、また、目的の出力についても確信が持てません。1 つのアイデアは、この行を変更することです。

    as.data.frame(xmlToList)

次のようなものに:

    function(y){data.frame(ID=x,as.data.frame(xmlToList(y)))})

これにより、各 data.frame の名前ファイルを持つ列に ID が追加されます。

于 2013-04-24T08:09:13.800 に答える
0

完全な答えではありませんが、出発点です。

データフレームの場合、次の方法で id 列を追加できます。

data <- data.frame(x=rnorm(100), y=rnorm(100))

data$ID <- "id"

また、データフレームの列には id が入力されます。

だから、ラップリーの関数(x)内にそのような列を追加しようとします。

于 2013-04-24T08:01:06.137 に答える