コードをきれいにして、長期的に生活を楽にするためのいくつかの提案:
data.frame
ではなく でデータを操作しarray
ます。
TRUE
として参照しないでくださいT
。TRUE
は、再定義できない予約語ですがT
、以下を含む任意の値を取ることができます。FALSE
<-
割り当てに記号を使用する
- 省略形の引数名を使用しないでください。議論は
header
、ではありませんhead
。これはあなたを噛むかもしれません
配列には、単一クラスのオブジェクトのみを含めることができます。したがって、データをarray
に変換すると、暗黙的にnumeric
列が に変換されますがcharacter
、これは確かに悪いことです。
次に、次のようにデータ フレームにインデックスを付けます。
dat <- read.table("nasdaqlisted.txt", sep="|", quote='',
header=TRUE, blank.lines.skip=TRUE, as.is=TRUE)
dat$Symbol[1]
[1] "AAC"
次の別のインデックス付け方法でも、同じ要素が返されます。
dat[1, "Symbol"]
dat[1, 1]
dat[, 1][1]
dat[["Symbol"]][1]
本当に愚かなことをしてデータを配列に変換したい場合は、次を使用しmatrix
ます。
mdat <- as.matrix(dat)
mdat[1, 1]
Symbol
"AAC"
免責事項:あなたが尋ねたので、私はこれを投稿するだけです. 配列と行列は強力で高速ですが、このデータには適していません。