Rに次のデータフレームがあります:
> dframe
Mean Median
Candidates 85.68 60
NonCands 9.21 4
Multi 27.48 17
Mono 4.43 3
Multi NonCands 22.23 15
私はそれをファイルに印刷し、上に示したように適切にフォーマットして配置したいと考えています。私が使う:
write.table(dframe,file="test",sep="\t", quote=F)
次の出力が生成されます。
Mean Median
Candidates 85.68 60
NonCands 9.21 4
Multi 27.48 17
Mono 4.43 3
Multi NonCands 22.23 15
データは R 環境内で適切にフォーマットされて表示されるので、同じフォーマットのファイルに書き込むのは簡単だと思いました。どうやら私が間違っていたようです。format()
私はMASSライブラリを使って遊んでみましwrite.matrix
たが、どちらも望ましい結果をもたらしません.
このような提案をいくつか見たことがありますが、複雑すぎるように思われ、さらに重要なことに、を使用してファイルに出力すると、望ましい結果が得られませんwrite.table()
。
では、どうすればデータ フレームをテキスト ファイルに出力し、R 内と同じように表示できますか?
アップデート
以下のジャスティンのコメントからの提案に従って、gdata ライブラリをインストールし、write.fwf
. これはほとんど私が必要とするものです:
write.fwf(dframe,file="test",sep="\t", quote=F, rownames=T)
次の出力が生成されます。
Mean Median
Candidates 85.68 60
NonCands 9.21 4
Multi 27.48 17
Mono 4.43 3
Multi NonCands 22.23 15
それで、「平均」と「中央値」を右にシフトして、それぞれの列に合わせる方法についてのアイデアはありますか?
現在は関連している可能性があるため、data.frame の作成方法は次のとおりです。
labels<-c("Candidates","NonCands","Multi", "Mono", "Multi NonCands")
Mean <- c(mean(cands), mean(non),mean(multi),mean(mono),mean(multi_non))
Median <- c(median(cands), median(non),median(multi),median(mono),median(multi_non))
names(Mean)<-labels
dframe<-data.frame(Mean,Median)