2010-05-16 20 views
19

Có tương đương với lệnh unix less có thể được sử dụng trong bảng điều khiển R không?Tương đương với lệnh unix "ít" trong bảng điều khiển R

+0

Bạn cố gắng nhìn vào những thứ trong hệ thống tập tin, hoặc trong môi trường R (tôi đoán cái sau)? – Shane

+1

Trong môi trường R. Ví dụ: nếu tôi 'in' một khung dữ liệu có kích thước vừa phải, tôi muốn có thể cuộn qua nó. – fmark

Trả lời

31

Ngoài ra còn có page() mà hiển thị một đại diện của một đối tượng trong một máy nhắn tin, như ít hơn.

dat <- data.frame(matrix(rnorm(1000), ncol = 10)) 
page(dat, method = "print") 
+1

Hoàn hảo, chính xác những gì tôi đang tìm kiếm! – fmark

+2

Khi tôi chạy 'trang (dữ liệu, phương pháp =" in ")' trong RStudio trong Windows 8, tôi nhận được lời nhắc "Bạn muốn mở loại tệp này như thế nào?" chỉ với tùy chọn "Tìm ứng dụng trong Cửa hàng". Những người khác có thấy điều này không, làm thế nào tôi có thể làm cho nó hoạt động? – yic

11

Không thực sự. Có các lệnh

  • head()tail() cho thấy sự khởi đầu và kết thúc của các đối tượng
  • print() cho thấy một cách rõ ràng một đối tượng, và chỉ cần tên của nó sau đó trở cũng làm như vậy
  • summary() cho bản tóm tắt ngắn gọn mà phụ thuộc trên đối tượng
  • str() cho cấu trúc của nó

và nhiều hơn nữa. Tương đương với less sẽ là một chút trực giao với ngôn ngữ và hệ thống. Khi vỏ Unix cung cấp cho bạn less để xem nội dung của tệp (được coi là mã hóa ascii), nó không thể biết về tất cả các loại.

R là khác biệt ở chỗ nó biết về các loại đối tượng đó là lý do tại sao summary() - cũng như toàn bộ khuôn khổ mô hình - phù hợp hơn.

theo dõi chỉnh sửa: Một khả năng khác được cung cấp bởi edit() cũng như edit.data.frame().

+0

Cảm ơn câu trả lời thông tin. Tôi sẽ không đồng ý rằng "ít" sẽ là không phù hợp - chức năng chính mà tôi sử dụng ít hơn là để cuộn bộ đệm chuỗi trong một giao diện điều khiển. Bàn điều khiển R xuất ra rất nhiều bộ đệm chuỗi. Tôi nghĩ có lẽ có thể sử dụng ở đây cho chức năng cuộn bộ đệm. – fmark

+1

Bạn luôn có thể sử dụng 'hệ thống (" ít ")' ... tất nhiên, nếu bạn sử dụng bất kỳ hệ thống * NIX nào ... – aL3xa

+1

fmark: một khả năng khác được cung cấp bởi 'edit()' và 'edit.data.frame() 'mà bạn có thể thử. –

6

Tôi lưu đầu ra in ra tệp và sau đó đọc nó bằng trình chỉnh sửa hoặc less.

Loại sau trong R

sink("Routput.txt") 
print(varname) 
sink() 

Sau đó, trong một vỏ:

less Routput.txt 
+0

Hoạt động tốt khi bạn muốn cuộn qua str() của tập dữ liệu lớn (trang() không hoạt động cho việc này) – dahved

0

Nếu tập tin là đã có trên đĩa, sau đó bạn có thể sử dụng file.show

1

Bạn có thể thích món đồ chơi nhỏ của tôi ở đây: bản quyền

short <- function(x=seq(1,20),numel=4,skipel=0,ynam=deparse(substitute(x))) { 
ynam<-as.character(ynam) 
#clean up spaces 
ynam<-gsub(" ","",ynam) 
#unlist goes by columns, so transpose to get what's expected 
if(is.list(x)) x<-unlist(t(x)) 
if(2*numel >= length(x)) { 
    print(x) 
    } 
    else { 
     frist=1+skipel 
     last=numel+skipel 
     cat(paste(ynam,'[',frist,'] thru ',ynam,'[',last,']\n',sep="")) 
     print(x[frist:last]) 
     cat(' ... \n') 
     cat(paste(ynam,'[',length(x)-numel-skipel+1,'] thru ', ynam, '[', length(x)-skipel,']\n',sep="")) 
     print(x[(length(x)-numel-skipel+1):(length(x)-skipel)]) 
     } 
} 

blahblah của tôi, không Disney blahblah miễn phí để sử dụng, tái sử dụng, chỉnh sửa, rắc trên Wheaties của bạn, vv

Các vấn đề liên quan