W R markdown (pakiet knitr), czy mogę uzyskać dostęp do zmiennej w treści dokumentu, która została obliczona w kawałku kodu?R odliczanie: Dostęp do zmiennej z fragmentu kodu (zakres zmienny)
Odpowiedz
Tak. Możesz po prostu wywołać dowolną wcześniej ocenianą zmienną inline.
np. Jeśli wcześniej stworzył data.frame
w kawałku z df <- data.frame(x=1:10)
`r max(df$x)`
powinien wywoływać
10
chciałbym dodać, że nie jest to w przypadku innych języków niż R. Wiem, że pytanie jest rozwiązany i około R, ale może ktoś inny uzna to za przydatne:
Z wyjątkiem silnika = "R" (domyślnie), wszystkie porcje są wykonywane w oddzielnych sesjach, więc zmiennych nie można bezpośrednio udostępniać re. Jeśli chcemy korzystać z obiektów utworzonych w poprzednich porcjach, zwykle musimy je zapisać do plików (jako efekty uboczne). Dla silnika bash możemy użyć Sys.setenv() do eksportu zmiennych z R do bash (przykład). Inne podejście polega na użyciu (eksperymentalnego) pakietu runr.
przykład w R:
x = 4
print(x)
## [1] 4
Pythona Przykład 2a):
x=1
print(x)
## 1
Pythona Przykład 2b):
print(x)
## Traceback (most recent call last):
## File "<string>", line 1, in <module>
## NameError: name 'x' is not defined
Tylko dla FYI.
Można Dostęp do zmiennej wcześniej stworzone tak
`r variable`
Ale jeśli zmienna jest numeryczny i chcesz dodać do dokumentu pdf, należy przekonwertować zmienną w ciąg tak
`r toString(variable)`
Ale należy pamiętać, to zostanie skompletowane jako kod, który może nie być tym, co jest potrzebne, jeśli chcesz go użyć w postaci zwykłego tekstu. 'r I (max (df $ x))' powinno działać równie dobrze, a nie mieć składu w formacie kodu. –
Dzięki @GavinSimpson. – Maiasaura