2010-11-09 64 views
7

Tôi chủ yếu sử dụng đầu(), đuôi() và Chế độ xem() để xem bảng trong R, nhưng tôi tự hỏi liệu có ai sử dụng bất kỳ thứ gì phức tạp hơn không. Tôi nhớ lại rằng đã có R < -> Giao diện Excel có sẵn (dựa trên COM hoặc XLLoop?) - có ai sử dụng nó để sử dụng Excel (hoặc OpenOffice) để hiển thị khung dữ liệu trong phiên R hay không. được xuất sang tệp csv?Xem bảng dữ liệu trong R

Chỉnh sửa: Cảm ơn tất cả các đề xuất. Tôi đoán tôi nên có quy định rằng tôi đã chạy Emacs + ESS trên một máy Mac chủ yếu (mà loại dis COM và Deducer), mặc dù tôi cũng chuyển sang Linux và Windows nhân dịp. Tôi đoán View() vẫn là giải pháp đa nền tảng tốt nhất mà tôi có thể tìm thấy ...

+1

... View() and data.entry () chỉ thổi tâm trí của tôi. Tôi không biết làm thế nào tôi chưa bao giờ nhìn thấy chúng trước đây. –

Trả lời

4

Có, đôi khi tôi sử dụng Excel để xem dữ liệu từ R trong một phiên. Tôi khuyên bạn nên xem this blog post on the Learning R blog. Tôi sử dụng RDCOMClient; nó cho phép nhiều hơn là chỉ xuất/nhập khẩu, nhưng sự cân bằng được thêm vào sự phức tạp.

Chỉnh sửa: Có một số giải pháp khác không phải là COM dựa trên bài đăng trên blog đó, kể cả sử dụng ODBC.

+0

Rất tiếc, quên COM là một điều Windows (mà tôi mới chuyển từ đó - nghĩ đến nó, tôi * đã * chơi xung quanh với RDCOM một thời gian dài). Nhưng bài đăng trên blog rất hữu ích. – hatmatrix

3

Tôi sử dụng chức năng sau đây để xem xét một mẫu các dòng từ một khung dữ liệu ... Tôi giữ nó trong khởi động của tôi và sử dụng nó tất cả các thời gian để chạy kiểm tra ... thường xuyên tôi sẽ chạy một vài lần ...

# 
# sample a couple of lines from a data frame 
# 
sample.df <- function(df, n=3, ordered=TRUE) { 
    if(ordered) { 
      df[sort(sample(nrow(df), min(nrow(df), n))),] 
    } else { 
      df[sample(nrow(df), min(nrow(df), n)),] 
    } 
} 
+0

Ah, thật lạ lùng, tôi cũng đã tạo ra 'sample()' một hàm tổng quát và thêm một phương thức cho các khung dữ liệu trong '.Rprofile' của tôi! Nhưng chỉ nhỉnh hơn đầu() và đuôi() ... – hatmatrix

+0

Lợi thế của việc sử dụng sample.df() thay vì head() hoặc tail() là thường xuyên có một thứ tự đến data.frame bạn không ban đầu nhận thức được, vì vậy tôi thường sử dụng cả ba! – Sean

2

Deducer's Data Viewer.

Mẫu hướng dẫn:

Người xem dữ liệu có thể được truy cập bằng cách sử dụng deducer ("người xem dữ liệu") hoặc data.viewer() chức năng

Có rất nhiều tính năng hữu ích khác có , tất cả chúng đều có sẵn từ giao diện lệnh.

+0

Ồ, tôi muốn đây là giải pháp quá tệ, nhưng trên máy Mac có vẻ như tôi cần chạy nó thông qua JGR ... Tôi là một người đam mê Emacs. – hatmatrix

+0

@Stephen, Nó hoạt động vui vẻ với các emacs và thậm chí cả thiết bị đầu cuối. Điều duy nhất bạn không có menu. Đây là lý do tại sao hàm data.viewer(). Tôi đã lập kế hoạch cho một thời gian để viết một giao diện menu để suy ra cho emacs. Không bao giờ xuống đến nó. Hy vọng rằng vào cuối năm nay;) – VitoshKa

+0

Oh crack, tôi nhìn thấy nó ngay bây giờ. Nó không hoạt động dưới Mac, xin lỗi đã không biết điều đó. – VitoshKa

10

Bạn có thể dùng trình soạn thảo dữ liệu cơ bản để xem các dữ liệu

edit(your.data.frame) 
+0

Cảm ơn - Tôi quen thuộc với điều này, nhưng nó không thua kém View()? Nó tương tự, ngoại trừ việc nó chờ bạn đóng cửa sổ để tiếp tục (và tốt hơn là gọi 'vô hình (chỉnh sửa (my.data.frame))'). – hatmatrix

+1

@crippledlambda - 'edit()' cho phép bạn chỉnh sửa dữ liệu, với một cái gì đó như 'temp <- edit (temp)'. Nó sử dụng trình soạn thảo mặc định của bạn, nhưng tôi nghĩ nó buộc trình soạn thảo tích hợp cho các khung dữ liệu. Để chỉnh sửa khung dữ liệu phức tạp hơn, có 'tk2edit()' trong gói tcltk2. –

1

fix công trình đối với tôi

cũng my.df[seq(1, nrow(my.df), nrow(my.df)/30),]

+0

cảm ơn nhưng cũng giống như edit.data.frame() Tôi nghĩ, và View là cấp trên để xem dữ liệu, nếu tôi không nhầm lẫn (bạn có thể vô tình sửa đổi các giá trị trong bảng với sửa chữa, và nó được sử dụng để chuyển đổi các lớp/chế độ biến nếu tôi không nhầm). – hatmatrix

1

Như edit là quá cơ bản, tôi có xu hướng chỉ cần mở bảng trong Excel trong khi sử dụng R. Để làm như vậy, tôi ghi dữ liệu vào một tệp tạm thời và mở nó bằng Excel:

open_in_excel <- function(some_df){ 
    tFile<-tempfile(fileext=paste0(substitute(some_df), ".tsv"),tmpdir="~/tmp") 
    write.table(some_df, tFile, row.names=F, sep="\t", quote=F) 
    system(paste('open -a \"/Applications//Microsoft Office 2011/Microsoft Excel.app\"', tFile)) 
} 

open_in_excel(iris) 

Để đảm bảo cuộc gọi system cần được điều chỉnh cho hệ điều hành đã sử dụng và đường dẫn cài đặt của Excel.

3

Một tùy chọn thanh lịch sẽ được sử dụng DT gói

if (!require("DT")) devtools::install_github("rstudio/DT") 

datatable(iris) 

này sẽ mở ra một bảng đánh số trang có thể phân loại và lọc trong trình duyệt của bạn. Xem http://rstudio.github.io/DT/ để biết ví dụ.

+0

whoa, điều đó thật tuyệt. trước tiên phải cài đặt devtools nhưng nó đã hoạt động và trông giống như thứ tôi có thể sử dụng. – hatmatrix

3

Bạn có thể chạy utils::View(data).

Một tùy chọn khác là mở một cửa sổ RStudio mới.Người ta có thể làm điều này (trên Linux ít nhất) chỉ đơn giản bằng cách chạy trong thiết bị đầu cuối: rstudio Nếu bạn muốn có thể đóng terminal sau đó, chỉ cần chạy

nohup rstudio & 
Các vấn đề liên quan