Эквивалент Unix «меньше» команды в консоли R - PullRequest
21 голосов
/ 16 мая 2010

Есть ли эквивалент команды unix less, которую можно использовать в консоли R?

Ответы [ 5 ]

34 голосов
/ 01 октября 2010

Существует также page(), который отображает представление объекта в пейджере, например, менее.

dat <- data.frame(matrix(rnorm(1000), ncol = 10))
page(dat, method = "print")
12 голосов
/ 16 мая 2010

Не совсем. Есть команды

  • head() и tail() для отображения начала и конца объектов
  • print() для явного отображения объекта, и только его имя, за которым следует return, делает то же самое
  • summary() для краткого описания, которое зависит от объекта
  • str() для его структуры

и более. Эквивалент less будет немного ортогональным языку и системе. Там, где оболочка Unix предлагает вам less для просмотра содержимого файла (который предположительно является ascii-кодированным), он не может знать обо всех типах.

R отличается тем, что знает о типах объектов, поэтому summary() - как и вся среда моделирования - более уместны.

Последующее редактирование: Другая возможность предоставляется edit(), а также edit.data.frame().

7 голосов
/ 16 мая 2010

Я сохраняю вывод на печать в файл и затем читаю его, используя редактор или less.

Введите следующее в R

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

Затем в оболочке:

less Routput.txt
1 голос
/ 25 июня 2013

Тебе может понравиться моя маленькая игрушка здесь:

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)])
        }
}

Бла-бла, авторское право на меня, а не Disney, бла-бла, бесплатное для использования, повторного использования, редактирования, разбрызгивания на вашем языке и т. Д.

1 голос
/ 16 мая 2010

Если файл уже находится на диске, вы можете использовать file.show

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...