代码之家  ›  专栏  ›  技术社区  ›  fmark

相当于r控制台中的unix“less”命令

  •  21
  • fmark  · 技术社区  · 14 年前

    有等同于Unix的吗 less 可以在R控制台中使用的命令?

    5 回复  |  直到 11 年前
        1
  •  34
  •   Gavin Simpson    14 年前

    也有 page() 它在寻呼机中显示一个对象的表示,比如less。

    dat <- data.frame(matrix(rnorm(1000), ncol = 10))
    page(dat, method = "print")
    
        2
  •  12
  •   Dirk is no longer here    14 年前

    不是真的。这里有命令

    • head() tail() 用于显示对象的开始和结束
    • print() 对于显式显示一个对象,仅其名称后跟返回,则执行相同的操作
    • summary() 对于依赖于对象的简明摘要
    • str() 因为它的结构

    还有更多。相当于 less 与语言和系统有点正交。Unix shell为您提供的 较少的 要查看文件的内容(假定为ASCII编码),它不能了解所有类型。

    r是不同的,因为它知道对象类型,这就是为什么 摘要() --以及整个建模框架——更合适。

    后续编辑: 另一种可能性是 edit() 以及 edit.data.frame() .

        3
  •  7
  •   Sameer    14 年前

    我将打印输出保存到文件中,然后使用编辑器或 less .

    在r中键入以下内容

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

    然后在壳中:

    less Routput.txt
    
        4
  •  1
  •   Collin    14 年前

    如果文件已在磁盘上,则可以使用 file.show

        5
  •  1
  •   Carl Witthoft    11 年前

    你可能喜欢我的小玩具:

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

    布拉赫布拉赫版权归我所有,而不是迪斯尼的布拉赫布拉赫免费使用、重用、编辑、洒在你的乳清上等。