read.csvで3列のうち2列のみを読み取る


12

3つの列で構成されるASCIIデータセットがありますが、最後の2つだけが実際のデータです。次に、を使用してデータのドットチャートを作成しread.csv(file = "result1", sep= " ")ます。Rは3つの列すべてを読み取ります。これを回避するにはどうすればよいですか?


5
ここに残しておきますが、StackOverflowで今後の基本的なRの質問をしてください。

実際、現在のコンセンサスでは、R質問はCVで歓迎されているようです。私は今議論を見つけることができませんが、meta.stats.stackexchange.comのどこかにあります。
ウォルディルレオンシオ

回答:


20

colClasses引数を使用して、read.csv必要な列を選択できます。このケースでは、設定することができますcolClassesc("NULL", NA, NA)

read.csv(file="result1", sep=" ", colClasses=c("NULL", NA, NA))

より一般的には、colClassesを使用して特定の種類の列を指定できます。NAは、デフォルトのアプローチを使用することを意味します。これは、列が自動的に何であるかを把握することです。詳細については、ヘルプページを参照してくださいread.csv


11

別のオプションは、ファイル全体を読み込むことですが、2つの列のみを保持することです。例:

read.csv(file = "result1", sep = " ")[ ,1:2]

または、列名を使用して、例えば。列の名前が「col1、col2、col3」の場合

read.csv(file = "result1", sep = " ")[ ,c('col1', 'col2')]

@Brianによる回答は、あなたと比べて時間がかかりません。
ハルーンラシッド

0

これは、提供された回答に比べて時間がかかりません

library(data.table)
fread(file="result1", sep=" ", colClasses=c("NULL", NA, NA))
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.