をz
を呼び出してどのように評価できますか?R内の暗黙の変数参照
a <- c(1,2,3)
b <- c(4,5,6)
c <- cbind(a,b)
z <- "c[,2]"
eval(z)
は機能しません。
をz
を呼び出してどのように評価できますか?R内の暗黙の変数参照
a <- c(1,2,3)
b <- c(4,5,6)
c <- cbind(a,b)
z <- "c[,2]"
eval(z)
は機能しません。
これは、以下のことがあります
eval(parse(text=z))
'require(fortunes);占い(106) ' –
あなた本当にはdo.call
は、一般的にはるかに良い(と、より効率的)で、動的関数呼び出しを組み立て、それを評価する必要がある場合。これは、しかし行方不明のパラメータを渡すために少し難しいですが、TRUEは、この場合にも動作します。その後、することができます不足しているシンボルを取得するためのハックを、
z <- do.call('[', list(c, TRUE, 2))
しかし、ここです:
z <- c[TRUE,2]
に相当します使用する:
m <- quote(f(,))[[2]] # The elusive missing symbol
z <- do.call('[', alist(c, m, 2))
何をしようとしていますか?任意の文字列を解析することは正しい答えではありません。 – hadley
関連:[評価式](http://stackoverflow.com/q/1743698/2157640) – Palec