2017-11-28 13 views
-1

複数の列を持つcsvファイルがあります。他の2つの列の値が特定の数を超えている場合は、1つの列の値を出力します。私はそれをプレーンな.txtファイルに出力したいと思います。私はawkを使用してLinux上でこれを行う方法を知っていますが、私はRでこれを行うことができるとは思わない?高さは(> =)170以上であればR- 2つの他の列が値を満たす場合の列の印刷

例は、この例ではそう

Height Age Name 
145.2 13 David 
170.3 20 Emma 
100.1 8 Bob 
200.5 23 Ben 
176.6 19 Jim 
180.7 20 James 
165.8 25 Helen 

が、私は.txtファイルに出力する名前を探していますDATA-(私は新しいです)年齢が19歳以上の場合も同様です。

Emma、Ben、Jim、Jamesを新しい.txtファイルに出力する必要があります。

助けがあれば助かります。

私は出力 -

それはちょうどちょうどコンソールに書き込ま1つの列の完全なリストを、それらのいくつかを示すとされていない
Emma, Ben, Jim ... Henry 

のこの種を取得し、ジャンが提案されたコードを試してみました。私はRやLinuxで完全なリストを見ることができません。

私は自分のデータを編集しましたが、実際には問題の原因と思われるデータに小数点があります。これが周りにありますか?

+0

私は正しい出力を得ていると思いますが、実際のファイル(大量のデータがあります)にはリストが始まり、楕円があり、それらをすべて見ることはできません。すべての出力を表示するにはどうすればよいのでしょうか? –

答えて

0

このように出力をファイルに印刷することができます。

sink(file='somefile.txt') 
#print(x[x$Height>=170 & x$Age>=19, "Name"]) 
cat(paste((x[x$Height>=170 & x$Age>=19, "Name"]), collapse="\n")) 
sink() 
+0

私は正しい出力を得ていると思いますが、実際のファイル(大量のデータがあります)にはリストが始まり、省略記号があり、それらをすべて見ることはできません。すべての出力を表示するにはどうすればよいのでしょうか? –

+0

長いリストはどういう意味ですか?あなたはそれらをコンソールで見ることを話していますか?出力ファイルには、すべての名前の列があります。変更されたコードを確認してください。 – JeanVuda

+0

ジーン私は出力がどのように見えるかを追加しました。変更されたコードは、シンクで作成したファイルに出力を入れませんでした –

関連する問題