この質問が簡単であることを事前におApび申し上げます。次のコードを使用して、WebサイトからRに.datファイルをインポートしようとしています。
www = "http://www.nilu.no/projects/ccc/onlinedata/ozone/CZ03_2009.dat"
data <- read.delim(www, header = TRUE, sep="\t")
Data.frameのValue部分にアクセスしたいのですが、data.frameの次元についてはわかりません。ncol(data)と入力すると、3を期待していた1を返します。このdata.frameの「3番目」の列にアクセスするにはどうすればよいですか?
Datファイルには、実際のデータの前に追加情報の行がいくつかあります。 skip
引数でそれらをスキップします:
read.table("http://www.nilu.no/projects/ccc/onlinedata/ozone/CZ03_2009.dat",
header=TRUE, skip=3)
データセットに慣れていない場合、これを確認する簡単な方法は、以下のように最初にreadLines
を使用して数行をチェックすることです。
readLines("http://www.nilu.no/projects/ccc/onlinedata/ozone/CZ03_2009.dat",
n=10)
# [1] "Ozone data from CZ03 2009" "Local time: GMT + 0"
# [3] "" "Date Hour Value"
# [5] "01.01.2009 00:00 34.3" "01.01.2009 01:00 31.9"
# [7] "01.01.2009 02:00 29.9" "01.01.2009 03:00 28.5"
# [9] "01.01.2009 04:00 32.9" "01.01.2009 05:00 20.5"
ここでは、実際のデータは[4]
で始まることがわかるため、最初の3行をスキップすることがわかります。
本当にValue
カラムのみが必要な場合、couldでそれを行います:
as.vector(
read.table("http://www.nilu.no/projects/ccc/onlinedata/ozone/CZ03_2009.dat",
header=TRUE, skip=3)$Value)
繰り返しますが、readLines
は、インポートする列の実際の名前を把握するのに役立ちます。
しかし、データセット全体を読み込んで後で抽出するよりもmuchを行う利点はありません。