Mimiteruの日記: [R] ESS emacs on X11 - Excel間コピーペーストの件
日記 by
Mimiteru
にわかR使いになったMimiteruです。コレイイ!
でも大人の事情でやっぱり出力はMS Officeです。
ときますと、MSを非難する流れですが、別にMicrosoftを非難することもないでしょう。
一般の人とやりとりするにはデータの可搬性が一番。仲良くすることで良いコミュニケーションが生まれるというものです。
それはともかく、MacでExcelとR(Carbon)本体間のコピー/ペーストは好き勝手できるんですが、X11上のemacsでESSを動かしているところに向けるとちょっと難しいです。できたりできなかったり。
ソースを失念しましたが、確実に受け渡すには、こんな感じで。
Excelコピー -> ESSへペーストは
pipe("pbpaste")から受ければOK。
たとえばこんな感じで使ってます。
pasteclip <- function()
{
read.table(pipe("pbpaste"),na.strings="#N/A",fill=T, blank.lines.skip = F)
}
ESSコピー -> Excelペーストは
pipe("pbcopy","w")に渡します。書き込みの場合はclose()しないとペーストされません。
たとえばこんな感じで関数を作って渡してます。
copyclip <- function(x)
{
zz <- pipe("pbcopy","w")
write.table(x,zz,sep="¥t",col.names=F,row.names=F,na="=NA()")
close(zz)
}
これを組み合わせて、Excelで表を作って
copyclip(hoge(pasteclip()))
とかしますと、Excelの分析ツールとか必要ないですよー状態とかできます。F検定T検定とか分散分析周りとか最小自乗法近似とか楽です。Rに処理をまわして欠損値回避できるのもグーです。
これがWindows上でですと
Excelコピー -> ESSへペーストは
read.table("clipboard",na.strings="#N/A",fill=T, blank.lines.skip = F)
ESSコピー -> Excelペーストは
write.table(x,"clipboard",sep="¥t",col.names=F,row.names=F,na="=NA()")
と "clipboard"に相互に渡せますけど。
ちなみにLinux上ではデータ整形とか体裁とかは結局ファイルを作ることになりますので、使う機会はあまりないかなーと。
でも大人の事情でやっぱり出力はMS Officeです。
ときますと、MSを非難する流れですが、別にMicrosoftを非難することもないでしょう。
一般の人とやりとりするにはデータの可搬性が一番。仲良くすることで良いコミュニケーションが生まれるというものです。
それはともかく、MacでExcelとR(Carbon)本体間のコピー/ペーストは好き勝手できるんですが、X11上のemacsでESSを動かしているところに向けるとちょっと難しいです。できたりできなかったり。
ソースを失念しましたが、確実に受け渡すには、こんな感じで。
Excelコピー -> ESSへペーストは
pipe("pbpaste")から受ければOK。
たとえばこんな感じで使ってます。
pasteclip <- function()
{
read.table(pipe("pbpaste"),na.strings="#N/A",fill=T, blank.lines.skip = F)
}
ESSコピー -> Excelペーストは
pipe("pbcopy","w")に渡します。書き込みの場合はclose()しないとペーストされません。
たとえばこんな感じで関数を作って渡してます。
copyclip <- function(x)
{
zz <- pipe("pbcopy","w")
write.table(x,zz,sep="¥t",col.names=F,row.names=F,na="=NA()")
close(zz)
}
これを組み合わせて、Excelで表を作って
copyclip(hoge(pasteclip()))
とかしますと、Excelの分析ツールとか必要ないですよー状態とかできます。F検定T検定とか分散分析周りとか最小自乗法近似とか楽です。Rに処理をまわして欠損値回避できるのもグーです。
これがWindows上でですと
Excelコピー -> ESSへペーストは
read.table("clipboard",na.strings="#N/A",fill=T, blank.lines.skip = F)
ESSコピー -> Excelペーストは
write.table(x,"clipboard",sep="¥t",col.names=F,row.names=F,na="=NA()")
と "clipboard"に相互に渡せますけど。
ちなみにLinux上ではデータ整形とか体裁とかは結局ファイルを作ることになりますので、使う機会はあまりないかなーと。
[R] ESS emacs on X11 - Excel間コピーペーストの件 More ログイン