2013-06-03 26 views
5

Tôi gặp sự cố khi đánh giá các biến bên trong data.table[...] khi sử dụng knitr. Tôi đã nhìn thấy câu trả lời cho vấn đề này nói rằng nó được giải quyết, nhưng tôi vẫn nhận được lỗi. Tôi đang sử dụng data.table phiên bản 1.8.8 trên R 3.0.0.ESS không xử lý tốt với dữ liệu.table và knitr

Tôi đang sử dụng Emacs 24.3 đi kèm với ESS 13.05. Đây là một mẫu .Rnw file:

\documentclass{article} 

\begin{document} 

<<init,eval=TRUE, cache=FALSE>>= 
require(data.table) 
dt <- data.table(x=1:10, y=11:20) 
dt 
dt[x > 5] 
@ 

\end{document} 

và tương ứng (pdf) đầu ra:

require(data.table) 
## Loading required package: data.table 
## data.table 1.8.8 For help type: help("data.table") 
dt <- data.table(x = 1:10, y = 11:20) 

dt 
## x y 
## 1: 1 11 
## 2: 2 12 
## 3: 3 13 
## 4: 4 14 
## 5: 5 15 
## 6: 6 16 
## 7: 7 17 
## 8: 8 18 
## 9: 9 19 
## 10: 10 20 

dt[x > 5] 
## Error: object ’x’ not found 
+0

Josh, cảm ơn mẹo. Tôi đã thêm một tệp mẫu .Rnw. Tôi dựa vào Emacs để gọi knitr vì vậy tôi không gọi nó trực tiếp và tôi không chắc nó được gọi như thế nào ... – Rodrigo

+1

Tôi không có vấn đề gì khi chạy 'knit (" sample.Rnw ")' và sau đó biên dịch kết quả là tài liệu '" sample.tex "'. Tuy nhiên, khi tôi sử dụng phím tắt "ESS" "M-n r' để đan tài liệu, tôi nhận được lỗi tương tự như bạn. ** Điều này có vẻ là một vấn đề với cách ESS gọi 'knit()'. ** Kiểm tra bàn điều khiển R của tôi sau khi chạy, 'Mn r', tôi thấy nó chạy' .ess_weave() ', để gỡ lỗi, tôi 'd có một cái nhìn ở đó. Hoặc có thể tốt hơn, báo cáo về [ESS-help] (https://stat.ethz.ch/mailman/listinfo/ess-help), báo cáo R, Emacs và thông tin phiên bản ESS và các lệnh trực tiếp hoạt động cùng với các lệnh ESS không –

+1

Tôi không chắc chắn. Âm thanh như một vấn đề môi trường. Tôi đã không sử dụng Emacs/ESS trong một thời gian dài, và tôi nhớ nó gọi là Sweave/knitr trong 'local()', có thể hoặc không thể là lý do. –

Trả lời

1

Nhiều khả năng là một vấn đề môi trường. Điều này sẽ giải quyết:

(setq ess-swv-processing-command "%s(%s)") 
Các vấn đề liên quan