2016-05-19 3 views
1

現実的な問題で使用するデータオブジェクトの次のスタイルのどの程度:様々なRのデータストレージオプション:長所と短所私はしばしば混乱しています

一覧:

person_list<-list(age=25,weight=180,height=150,male=TRUE,profession="doctor") 

アレイ:

person_array<-c(age=25,weight=180,height=150,male=TRUE,profession="doctor") 

ハッシュ:

person_hash<-hash(age=25,weight=180,height=150,male=TRUE,profession="doctor") 

データフレーム:後知恵で

person_frame<-data.frame(attributes=c("age","weight","height","male","profession"),values=c(25,180,150,TRUE,"doctor")) 

、データフレームの選択は愚かなようだが、どのような他の人はどうですか?彼らはすべてOKですか?

また、あるフォームを別のフォームに使用する利点/不利な点はありますか?

ハッシュはネイティブのデータ型ではないので、R Studioはそれを自動完成しないので、それはほんのわずかな欠点です。その他の問題?

PS。データは巨大ではありません。したがって、パフォーマンスは大きな問題ではありません。コードの容易さと間違いやバグなどの可能性があります。

答えて

1

は、私のコメント(ハッシュなし)あなたの変種で

のみList良いenougthあるを収集します。

1)アレイ - 1クラスのために良いすべてのより広い1(ここではcharacter

2)Data.farmeに変換するために - 良い、しかし、あなたがこの方法(cを使用)で、それを作成したときにそれが悪いとなりました

3)一覧は柔軟なもの

例に - ほとんど

データ

person_array<-c(age=25,weight=180,height=150,male=TRUE,profession="doctor") 
person_list<-list(age=25,weight=180,height=150,male=TRUE,profession="doctor") 
person_frame<-data.frame(attributes=c("age","weight","height","male","profession"),values=c(25,180,150,TRUE,"doctor")) 
person_frame_good<-data.frame(age=25,weight=180,height=150,male=TRUE,profession="doctor") 

だからのみlistとdf_goodはVAR

PS合計できる操作

> person_array$height+person_array$weight 
Error in person_array$height : $ operator is invalid for atomic vectors 
> person_array[["height"]]+person_array[["weight"]] 
Error in person_array[["height"]] + person_array[["weight"]] : 
    non-numeric argument to binary operator 
> person_frame$height+person_frame$weight 
numeric(0) 
> person_frame$values[person_frame$attributes=="height"]+person_frame$values[person_frame$attributes=="weight"] 
[1] NA 
Warning message: 
In Ops.factor(person_frame$values[person_frame$attributes == "height"], : 
    ‘+’ не значимо для факторов 
> person_list$height+person_list$weight 
[1] 330 
> person_frame_good$height+person_frame_good$weight 
[1] 330 

を見ることができます " '+' をнезначимодляфакторов" "+が要因のために使用することがカント" のようなものを意味し

ボーナス

あなたは単に data.frame であなたのデータを見ることができますRStudioを使用している場合(データは双方向テーブルで提示することができる場合)

しかしlistカント enter image description here

しかしViewのコマンドは両方のバリアントに良い作品

関連する問題