Jak mogę ocenić c[,2]
przez połączenie z z
?Niewłaściwe odniesienie do zmiennej w R
a <- c(1,2,3)
b <- c(4,5,6)
c <- cbind(a,b)
z <- "c[,2]"
eval(z)
nie działa.
Jak mogę ocenić c[,2]
przez połączenie z z
?Niewłaściwe odniesienie do zmiennej w R
a <- c(1,2,3)
b <- c(4,5,6)
c <- cbind(a,b)
z <- "c[,2]"
eval(z)
nie działa.
może być niższa niż:
eval(parse(text=z))
'require (fortunes); fortuna (106) ' –
Jeśli naprawdę trzeba dynamicznie montażu wywołanie funkcji, a następnie oceniają go do.call
jest zwykle znacznie lepsze (bardziej wydajne). To trochę trudno przekazać parametr brakuje chociaż, ale prawdziwe działa również w tym przypadku:
z <- c[TRUE,2]
odpowiada:
z <- do.call('[', list(c, TRUE, 2))
Ale tu jest hack do zdobycia brakującego symbolu, który można następnie być używane:
m <- quote(f(,))[[2]] # The elusive missing symbol
z <- do.call('[', alist(c, m, 2))
Co próbujesz zrobić? Parsowanie arbitralnych ciągów jest mało prawdopodobne, aby była właściwą odpowiedzią. – hadley
Powiązane: [R eval expression] (http://stackoverflow.com/q/1743698/2157640) – Palec