0

私ができるSASのように

put @5 value1
    @12 "="
    @24 estimate1
;

位置付けられた値とオブジェクトを出力するために「cat」のような関数を使用してRでできることはありますか?

私の質問が明確かどうか教えてください。

前もって感謝します!

4

2 に答える 2

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    
}

使用法:

> value1=1.234
> estimate1=pi
> fixput(5, value1, 12, "=", 24, estimate1)
[1] "    1.234  =           3.14159265358979                                         "

文字列を返すことに注意してください。スクリプトで出力したい場合は、それだけcatでかまいません。また、補間された値が長い場合に何が起こるかに注意してください。

> value1=pi
> fixput(5, value1, 12, "=", 24, estimate1)
[1] "    3.14159=65358979   3.14159265358979                                         "
于 2013-06-22T08:28:21.133 に答える