のサイズが別の変数のサイズに応じて変化 する必要があるR
関数を作成しています。expression
式要素の順序は次のとおりです。
1/ 1
2/ "Xts_filled[(locNAs[n] - 1),]"
3/ "Xts_filled[(locNAs[n] - 2),]"
4/ "Xts_filled[(locNAs[n] - 3),]"
...
式には規則的なパターンがあり、要素が追加されるたびにマイナスの後の数字だけが変化します。ある種のmacro
.
これは可能R
ですか?
次のように、for
ループとイディオムを使用してハッキングしました。eval(parse(text = ___))
buildExpr <- function(ARorder){
callList <- list("1", "Xts_filled[(locNAs[n] - 1),]")
if(ARorder - 1) {
for(j in 2:ARorder) {
callList <- c(callList, paste0("Xts_filled[(locNAs[n] -", j, "),]"))
}
}
callExpr <- paste0("c(", paste(callList, collapse = ","), ")")
}
私はそれを介して動作させeval(parse(text = buildExpr(3)))
ました。
より良い方法はありますか?