0

Web ファイルを解析すると、問題なく動作します。

tdata=xpathApply(data,"//table[@id='PL']")

xpathApplyで変数を使いたいのですが、

x="PL"
tdata=xpathApply(data,"//table[@id=x]")

うまくいきません。xpathApply に xpath 式を変数で書くにはどうすればよいですか?

Dasonの提案を考えて、

x="PL"
y=paste0("//table[@id='",x,"']")
tdata=xpathApply(data,y)

それは大丈夫ですが、私はそれが醜いように感じます。どうすればもっと美しく書くことができますか?

4

2 に答える 2

3

gsubfn パッケージは、引数に置換を含む関数の前にfn$. ここ$xで の値を代入することを意味しますx。?fn およびgsubfn ホームページを参照してください

library(gsubfn)
x <- "PL"
tdata <- fn$xpathApply(data, "//table[@id='$x']")
于 2012-09-30T12:18:48.157 に答える
1

またはいずれかを使用するという@Dasonの提案がpaste唯一の方法である可能性が最も高いです。見苦しい場合は、独自の関数を作成して、敷物の下で一掃できます。

my.xpathApply <- function(data, x) xpathApply(data, paste0("//table[@id='",x,"']"))
tdata <- my.xpathApply(data, "PL")

結局のところ、pasteどこかで使用する多くのパッケージ関数を使用する必要があるため、独自のものを持っていても問題ありません:-)

于 2012-09-30T11:33:30.440 に答える