R中是否有一个功能允许您指定打印输出位置,如SAS可以做到的?

Ton*_*ZZZ 0 r sas

就像SAS一样,我可以做到

put @5 value1
    @12 "="
    @24 estimate1
;
Run Code Online (Sandbox Code Playgroud)

我可以在R中使用像"cat"这样的函数来打印出定位的值和对象吗?

如果我的问题清楚,请告诉我.

提前致谢!

Spa*_*man 6

这是一个猜测.这会创建一个长空字符串,然后通过substr将值放入其中:

fixput <- function(...,nchar=80){    
  s=paste0(rep(" ",nchar),collapse="")
  args=list(...)
  for(arg in seq(1,length(args),by=2)){
    substr(s,args[arg],nchar)=as.character(args[arg+1])
  }
  s    
}
Run Code Online (Sandbox Code Playgroud)

用法:

> value1=1.234
> estimate1=pi
> fixput(5, value1, 12, "=", 24, estimate1)
[1] "    1.234  =           3.14159265358979                                         "
Run Code Online (Sandbox Code Playgroud)

注意它返回一个字符串,所以如果你想在脚本中输出cat它就可以了.还要注意插值值很长时会发生什么:

> value1=pi
> fixput(5, value1, 12, "=", 24, estimate1)
[1] "    3.14159=65358979   3.14159265358979                                         "
Run Code Online (Sandbox Code Playgroud)