2010-12-01 16 views
3

私はこのコードを持っている:制御R出力

x <- rnorm(10) 
print(x) 

は出力として戻っている:

[1] -0.67604293 -0.49002147 1.50190943 0.48438935 -0.17091949 0.39868189 
[7] -0.57922386 -0.08172699 -0.82327067 0.07005629 

私はRがラインか何かあたりの文字数の制限をしているし、分割された理由があると仮定結果は2行になります。私はRの出力に基づいてサービスを構築しています

1行に入れるにはどうすればよいですか?

+2

あなたがしようとしていることの詳細はわかりませんが、オプション(「幅」)は役に立ちますか? –

+0

あなたは正しいかもしれないと思います。私はあなたに投票できるので、それを答えに入れてみませんか? –

答えて

5

ラッパーに便利な方法で出力するようにRに指示する方が良いでしょう。 paste()sprintf()のような文字列関数をチェックアウトし、結果をcat()の出力にプッシュします。あなたはoptions("width")オプションを調整することにより、Rでの印刷幅を調整することができ

0.889105851072202 
0.86920550247321 
0.817785758768382 
-0.0194490361401052 
1.13386492568134 
0.0786139738004322 
0.7431631392675 
0.93881227070957 
0.534225167458455 
1.08265812080696 
+0

nice。どうもありがとう。 –

+0

しかし、本当にQの回答はありませんでした。ローマ人の答えはそうです。印刷出力が複数の行にまたがる唯一の理由は、 'options(" width ")' **または** R Elzoが使用しているインターフェースに 'options(" width ")を設定すると、 。 –

+0

@ギャビン私は知っている、しかし、彼はそれは他のプログラムへの転送を簡素化したいと述べた... prettified出力をdeprettifyingは、この場合、特に簡単にプリティファイヤーをバイパスすることができます。 – mbq

6

:だけで何の出力

x<-rnorm(10) 
cat(paste(x,collapse="\n"),"\n") 

:インスタンスの列に数字を置くことのようになります。あなたのプロジェクトについての詳細を私たちに伝えたら、おそらくもっとうまくいくかもしれません。

+0

このように設定します:options(width = 150) – Met

2

皆様のお返事ありがとうございます。私はそれを行うための新しい方法を公開したいと思っています。私のためには最高でした。誰かがこの参照を必要とするかもしれません。私はphpSerializeを使用して出力を制御するため、unserializeをPHPで使用できるようにWebサービスを構築しています。

library(phpSerialize) 
x<-rnorm(10) 
x = phpSerialize(x) 
cat(x) 
関連する問題