Есть ли эквивалент команды unix less
, который можно использовать в консоли R?
Эквивалентно команде unix unix в консоли R
Ответ 1
Существует также page()
, который отображает представление объекта в пейджере, как меньше.
dat <- data.frame(matrix(rnorm(1000), ncol = 10))
page(dat, method = "print")
Ответ 2
Не совсем. Существуют команды
-
head()
иtail()
для отображения начала и конца объектов -
print()
для явного отображения объекта, и только его имя, за которым следует return, делает то же самое -
summary()
для краткого описания, которое зависит от объекта -
str()
для его структуры
и многое другое. Эквивалент для less
был бы немного ортогонален языку и системе. Если оболочка Unix предлагает вам less
для просмотра содержимого файла (который предположительно является ascii-кодированным), он не может знать обо всех типах.
R отличается тем, что знает о типах объектов, поэтому summary()
- а также вся структура моделирования - более уместны.
Последующее редактирование: другая возможность предоставляется edit()
, а также edit.data.frame()
.
Ответ 3
Я сохраняю вывод печати в файл, а затем читаю его с помощью редактора или less
.
Введите следующее в R
sink("Routput.txt")
print(varname)
sink()
Тогда в оболочке:
less Routput.txt
Ответ 4
Вам может понравиться моя маленькая игрушка здесь:
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 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 авторское право, а не Disney blahblah бесплатно для использования, повторного использования, редактирования, дождевания на ваших пшеницах и т.д.
Ответ 5
Если файл уже находится на диске, вы можете использовать file.show